C

Hard for AI agents to use

Capped at C: your pages load slowly on phones (Performance 60). Your checks earned 86.

See the goal behind it

Speed: Fail (Google's lab run of this page)Core Web Vitals, Google

Start here.

These hold your letter down the most
  1. Fail·Performance

    The page responds as soon as it appears

    Total Blocking Time (640 ms)

    What to do Remove scripts it does not need, which keep the page busy.

    Your web team · a week or moreSee the check

  2. Fail·Act

    Your site offers tools to AI assistants

    Your home page offers no tools to AI assistants.

    What to do Expose the main action on your site, such as booking or contacting you, as a WebMCP tool.

    Your web team · about a daySee the check

  3. Partial·Performance

    The main content shows up quickly

    Largest Contentful Paint is 2.8 s for real visitors of your whole site, last 28 days, which Google rates needs improvement, First Contentful Paint is 2.3 s for real visitors of your whole site, last 28 days, which Google rates needs improvement, and Speed Index (6.3 s). Measured from real visitors of your whole site, last 28 days; the rest is a lab test on a phone.

    What to do Make the first screen load faster on phones, starting with its biggest image.

    Your web team · a week or moreSee the check

Fix it,

or see it rebuilt

These 8 fixes add up to about four weeks of your web team's time.

  • Send to your agency

    An email with what is wrong and a link to this report, so whoever runs the site has every fix and its line for the web team.

    Send to your agency
  • Explore with your AI

    Your own AI reads the report and tells you how to fix each issue and the effort each takes. It gets this, and nothing else:

    Read this report on our website: clutch.io/grade/portraitmidtown-com. Tell me how to fix each issue and the level of effort each fix takes.

  • See your site rebuilt

    Clutch rebuilds portraitmidtown.com from its address, and the new site doesn't have these issues. Free to preview, $39 a month once it goes live.

    See your site rebuilt
100

Find

Can AI agents and search engines reach and list your pages?

25% of your grade · 9 of 9 goals pass

100

Understand

Can they tell who you are and what you offer?

25% of your grade · 7 of 7 goals pass

82

Act

Can they take the next step for a customer?

25% of your grade · 7 of 9 goals pass

  • Your site offers tools to AI assistantsMust haveImportantFail

    Your home page offers no tools to AI assistants. WebMCP lets an assistant book or reserve through a site's own code instead of guessing its way around the screen.

    While it fails, your letter stays at B or lower.

    • PageSpeed's "WebMCP tools registered" audit lists no tool: https://portraitmidtown.com/

    What to do Expose the main action on your site, such as booking or contacting you, as a WebMCP tool.

    For your web team: Call document.modelContext.registerTool({ name, description, inputSchema, execute }) as the home page loads, or add toolname and tooldescription attributes to the form. A name is 1 to 128 letters, digits, _, - or .

    Your web team · about a day · Important

    WebMCP for developers, ChromeReport an issue with this check

  • Assistants can read your page's controlsCriticalPass

    Accessibility tree is well-formed (All audits passed) Agents review the accessibility tree to find what they can click or fill in, and missing labels can block them.

    Accessibility for agents, ChromeReport an issue with this check

  • Custom controls announce what they areImportantPass

    All 2 audits in this goal pass. WCAG, the web accessibility standard most laws point to, requires every control to expose its name and role to assistive technology and software.

    Accessibility for agents, ChromeReport an issue with this check

  • Extra labels on controls are used correctlyImportantPass

    All 10 audits in this goal pass. Wrong ARIA tells an assistant a control is something it is not. WAI-ARIA defines the roles and attributes that are valid, and the axe rules check them.

    Rule aria-roles: ARIA roles used must conform to valid values, Deque axeReport an issue with this check

  • Visitors can move around the pageImportantPass

    All 3 audits in this goal pass. WCAG, the web accessibility standard most laws point to, requires every function of a page to work from a keyboard.

    Accessibility for agents, ChromeReport an issue with this check

  • Text is readableImportantPass

    All 2 audits in this goal pass. WCAG requires text to contrast with its background by at least 4.5 to 1, and the axe rule color-contrast checks for it.

    Rule color-contrast: Elements must meet minimum color contrast ratio thresholds, Deque axeReport an issue with this check

  • Buttons and links are big enough to tapImportantPass

    All 2 audits in this goal pass. web.dev recommends tap targets of around 48 pixels, and WCAG sets a minimum of 24 by 24 pixels.

    Accessible tap targets, GoogleReport an issue with this check

  • Videos and embedded frames have textImportantPass

    <frame> or <iframe> elements have a title WCAG, the web accessibility standard most laws point to, requires captions for the audio in prerecorded video.

    Accessibility for agents, ChromeReport an issue with this check

60

Performance

Is it fast for the person who clicks through?

Speed comes from real visitors of your page over the last 28 days when Google has their numbers, and from a test on a phone when it does not.

25% of your grade · 4 of 10 goals pass

  • The page responds as soon as it appearsImportantFail

    Total Blocking Time (640 ms) INP is the wait between a tap and the page responding, and under 200 milliseconds is good. Total Blocking Time, the lab test's stand-in, has the same bar.

    • Total Blocking Time (640 ms): https://portraitmidtown.com/
    • Reduce JavaScript execution time (1.5 s): https://www.portraitmidtown.com/
    • Minimize main-thread work (2.3 s): https://portraitmidtown.com/

    What to do Remove scripts it does not need, which keep the page busy.

    For your web team: Split long tasks and defer scripts that are not needed to start. PageSpeed lists the costliest scripts.

    Your web team · a week or more · Important

    Total Blocking Time (TBT), GoogleReport an issue with this check

  • Repeat visitors get a faster pageImportantFail

    Use efficient cache lifetimes (Est savings of 1,024 KiB) Fetching resources over the network is both slow and expensive.

    • Use efficient cache lifetimes (Est savings of 1,024 KiB), from livsee.com: https://chat.livsee.com/assets/RedirectingPage-DDtAkOya.js
    • Use efficient cache lifetimes (Est savings of 1,024 KiB), from Facebook: https://connect.facebook.net/signals/config/2598421633625107?v=2.9.438&r=stable&domain=www.portraitmidtown.com&im=1&hme=4453c87d489b6902031c012cadd2731893cd69feb64fe8a61b339727247a7703&ex_m=118%2C242%2C171%2C27%2C82%2C83%2C162%2C78%2C77%2C11%2C181%2C102%2C20%2C153%2C141%2C46%2C85%2C90%2C149%2C176%2C183%2C8%2C4%2C5%2C7%2C6%2C3%2C103%2C115%2C161%2C72%2C185%2C110%2C184%2C211%2C263%2C37%2C84%2C283%2C282%2C281%2C14%2C25%2C28%2C40%2C62%2C117%2C68%2C10%2C73%2C111%2C112%2C113%2C119%2C144%2C38%2C36%2C146%2C147%2C148%2C143%2C142%2C172%2C86%2C175%2C173%2C174%2C57%2C69%2C67%2C137%2C19%2C179%2C52%2C333%2C334%2C335%2C332%2C32%2C17%2C31%2C18%2C33%2C34%2C35%2C55%2C163%2C87%2C126%2C22%2C24%2C51%2C47%2C49%2C48%2C95%2C104%2C108%2C124%2C160%2C164%2C53%2C125%2C29%2C26%2C133%2C79%2C43%2C166%2C165%2C167%2C157%2C155%2C30%2C42%2C66%2C123%2C178%2C80%2C21%2C128%2C93%2C76%2C23%2C97%2C98%2C130%2C96%2C151%2C150%2C154%2C109%2C177%2C180%2C41%2C349%2C371%2C256%2C238%2C70%2C239%2C237%2C374%2C365%2C59%2C257%2C121%2C145%2C92%2C135%2C61%2C54%2C56%2C127%2C134%2C140%2C139%2C65%2C74%2C168%2C88%2C89%2C129%2C44%2C39%2C60%2C63%2C114%2C182%2C1%2C138%2C16%2C136%2C12%2C2%2C64%2C105%2C15%2C75%2C71%2C132%2C101%2C100%2C187%2C188%2C106%2C107%2C9%2C116%2C186%2C58%2C158%2C99%2C91%2C81%2C131%2C120%2C169%2C50%2C159%2C0%2C94%2C152%2C156%2C170%2C45%2C122%2C13%2C189
    • Use efficient cache lifetimes (Est savings of 1,024 KiB), from Facebook: https://connect.facebook.net/en_US/fbevents.js

    What to do Let browsers keep images, scripts and styles between visits.

    For your web team: Send Cache-Control with a long max-age for fingerprinted static files, and revalidate the rest with ETag.

    Your web team · about an hour · Important

    Prevent unnecessary network requests with the HTTP Cache, GoogleReport an issue with this check

  • The main content shows up quicklyImportantPartial

    Largest Contentful Paint is 2.8 s for real visitors of your whole site, last 28 days, which Google rates needs improvement, First Contentful Paint is 2.3 s for real visitors of your whole site, last 28 days, which Google rates needs improvement, and Speed Index (6.3 s). Measured from real visitors of your whole site, last 28 days; the rest is a lab test on a phone. LCP is how long the main picture or text takes to appear, and visitors leave slow pages. web.dev says 2.5 seconds or less is good, one of Google's three Core Web Vitals.

    • Largest Contentful Paint is 2.8 s for real visitors of your whole site, last 28 days, which Google rates needs improvement.: https://portraitmidtown.com/
    • First Contentful Paint is 2.3 s for real visitors of your whole site, last 28 days, which Google rates needs improvement.: https://portraitmidtown.com/
    • Speed Index (6.3 s): https://portraitmidtown.com/

    What to do Make the first screen load faster on phones, starting with its biggest image.

    For your web team: Serve the largest element early: preload it, avoid render-blocking scripts and styles, and cut server response time. PageSpeed lists what holds it back.

    Your web team · a week or more · Important

    Web Vitals, GoogleReport an issue with this check

  • Served fastImportantPartial

    Document request latency (Est savings of 210 ms). A CDN (a network of servers near your visitors) reduces the network latency that slows a server's first response.

    • Document request latency (Est savings of 210 ms): https://portraitmidtown.com/
    • Network Round Trip Times (0 ms): https://portraitmidtown.com/
    • Server Backend Latencies (50 ms): https://portraitmidtown.com/

    What to do Speed up its first response, for example with a CDN in front of it.

    For your web team: Serve the page through a CDN or edge network over HTTP/2 or HTTP/3, compress text with gzip or Brotli, cache the document at the edge, and avoid redirects.

    Your web team · about a day · Important

    Reduce server response times (TTFB), ChromeReport an issue with this check

  • Images are the right sizeImportantPartial

    Improve image delivery (Est savings of 70 KiB), Serves images with low resolution, and Image elements do not have explicit width and height. Serving images larger than the version rendered on screen results in wasted bytes and slows page load.

    • Improve image delivery (Est savings of 70 KiB): <div class="mx-xxl-8 mb-5 mt-3 px-lg-4 pb-lg-8 pb-5 text-white bg-primary ysi-row ysi-…" data-mq-max-width="575px" style="background-image: url(&quot;https://resource.rentcafe.com/image/upload/q_auto,f…&quot;);">, from rentcafe.com: https://resource.rentcafe.com/image/upload/q_auto,f_auto,w_450,h_900,c_lfill,g_auto/s3/2/5802/iStock-2174606199.jpg
    • Serves images with low resolution: <img src="https://resource.rentcafe.com/image/upload/x_0,y_0,w_2200,h_1467,c_crop/q_…" class="border border-secondary mr-3 custom-rounded-border img-fluid" alt="A well-lit bedroom with a large bed and a green carpet. at Portrait Midtow…" loading="lazy">, from rentcafe.com: https://resource.rentcafe.com/image/upload/x_0,y_0,w_2200,h_1467,c_crop/q_auto,f_auto,c_fill,w_259,ar_1.444,g_auto/s3/2/5802/portraitmidtown-web-98_18689_378349760.jpg
    • Image elements do not have explicit width and height: <img src="https://resource.rentcafe.com/image/upload/x_0,y_0,w_2736,h_1536,c_crop/q_…" class="border border-secondary custom-rounded-border custom-box-shadow img-fluid" alt="A modern lobby with a man walking in the background. at Portrait Midtown A…" loading="lazy">, from rentcafe.com: https://resource.rentcafe.com/image/upload/x_0,y_0,w_2736,h_1536,c_crop/q_auto,f_auto,c_fill,w_460,ar_0.821,g_auto/s3/2/5802/portrait%20midtown%20main%20lobby.jpg

    What to do Resize and compress your images before they go on the page.

    For your web team: Serve several sizes with srcset and sizes, use a modern format such as WebP or AVIF, and keep each image's width and height in the proportion it is shown.

    Your web team · about a day · Important

    Properly size images, ChromeReport an issue with this check

  • The page does not weigh muchImportantPartial

    Reduce unused JavaScript (Est savings of 970 KiB), Reduce unused CSS (Est savings of 104 KiB), Minify JavaScript (Est savings of 5 KiB), and Legacy JavaScript (Est savings of 21 KiB). Large network payloads are highly correlated with long load times and cost visitors money on mobile data.

    • Reduce unused JavaScript (Est savings of 970 KiB), from livsee.com: https://chat.livsee.com/assets/RedirectingPage-DDtAkOya.js
    • Reduce unused CSS (Est savings of 104 KiB), from rentcafe.com: https://cdngeneralmvc.rentcafe.com/css/scss/415781/synergy/synergy.557251.134383511810000000.css
    • Minify JavaScript (Est savings of 5 KiB), from livsee.com: https://cdn.livsee.com/widget.js

    What to do Remove code and files the page does not use.

    For your web team: Minify scripts and styles, remove unused and duplicate code, and stop shipping legacy polyfills. PageSpeed lists the files by size.

    Your web team · a few days · Important

    Avoid enormous network payloads, ChromeReport an issue with this check

  • The page does not jump around while it loadsImportantPass

    Cumulative Layout Shift is 0.01 for real visitors of your whole site, last 28 days, which Google rates good. CLS measures how much the page jumps while it loads, which makes people tap the wrong thing. web.dev names it one of three Core Web Vitals, and 0.1 or less is good.

    Web Vitals, GoogleReport an issue with this check

  • Visitors are on a secure connectionImportantPass

    Uses HTTPS A secure connection helps prevent intruders tampering with traffic between your site and its visitors.

    Why HTTPS matters, GoogleReport an issue with this check

  • The page loads without errorsImportantPass

    All 7 audits in this goal pass. An error in the console means a problem on your page that you need to resolve.

    Browser errors were logged to the console, ChromeReport an issue with this check

  • Visitors are not interrupted on arrivalImportantPass

    All 3 audits in this goal pass. Users are mistrustful of or confused by pages that ask for their location as soon as they load.

    Requests the geolocation permission on page load, ChromeReport an issue with this check

See if AI chooses you

An AI agent searched “apartments in carmel indiana”, like 2,400 people a month.

This scan graded the site on its own. Grade it again and an AI agent shops for it too, with a search your site already ranks for, and shows where it got through and where it stopped.

See portraitmidtown.com rebuilt, without these issues

70th of 126 residence sites graded so far. See the board.

How we grade