Website audit

trc.com.ph

Transcend Realty & Consultancy has a clean, modern site that looks premium. Right now it works as a mirror of Instagram, not as a sales tool. This audit covers the tech stack, what's missing, and what to fix first.

Audited 3 November 2026 By Glen Tenorio Pages Home, About, Listings, Contact

Executive summary

A 4-page brochure site for a Makati brokerage that sells, leases and advises on property.

01

Listings send visitors away. No property has its own page. "View Property Details" opens the Instagram post, where logged-out visitors hit a login wall. Price, size and bedrooms appear on Instagram but nowhere on the site.

02

Search engines see almost nothing. Pages render in the browser with JavaScript. The HTML the server sends has about 42 characters of text and no headline. There's no sitemap and no structured data, three pages share one description, and Google has indexed only 4 URLs.

03

The Cloudflare bot challenge is too strict. Google's own PageSpeed tool received a 403 error and reported the page as "blocked from indexing". Link previews and SEO tools are likely blocked too.

04

Trust and compliance gaps. There are 3 emails, 2 mobile numbers and 2 office addresses across the site, photos and property portals. The site shows no PRC licence, legal company name or privacy policy, and the contact email is a Gmail address.

The opportunity: give every property its own indexable page with an enquiry form, and make the website the place listings live, with Instagram as the distribution channel. That one change turns the site into a lead source.

Scorecard

How each area rates, based on what could be verified.

Performance

Needs work

Homepage is about 15 MB across 138 requests, 12.6 MB of it images, with nothing lazy-loaded. PageSpeed couldn't test the real page.

SEO

Poor

Content renders in the browser, no sitemap, no schema, shared descriptions, and no listing pages that could rank.

Security

Good (basics)

HTTPS, HSTS, Turnstile and core headers are in place. Minor leak of auth scaffolding.

UX and conversion

Poor

The listing CTA leaves the site for an Instagram login wall. No prices, filters or per-property enquiry.

Content and trust

Needs work

Conflicting contact details, a Gmail address, no licence or legal name, and About copy that reads like an internal brief.

Accessibility

Needs work

Partial check: 10 homepage images lack alt text, and the details button only appears after a click or hover.

Tech stack

What the site is built on, and the evidence for each finding.

ItemFindingEvidenceConcern
Back endLaravel (PHP) with the Jetstream auth starter kitPage data includes jetstream and auth props; /up health route; /login and /register redirectStarter-kit props (admin role names, canRegister) exposed on every public page
Front endVue 3 through Inertia.js, rendered in the browserdata-page root, __vue_app__, page components Home / About / Listing / ContactNo server-side rendering, so crawlers get an empty shell
BuildViteHashed files under /build/assets/Fine
CSSTailwind CSSUtility classes on body and componentsFine
FontsGoogle Fonts and Bunny Fonts, plus 3 self-hosted Font Awesome filesNetwork requestsTwo font providers (Bunny is likely the Laravel default left in), and three icon fonts for a few icons
Hosting / CDNCloudflare proxy, bot challenge, Web Analytics, managed robots.txtserver: cloudflare, cf-ray, /cdn-cgi/rumChallenge blocks legitimate tools; HTML isn't cached (cf-cache-status: DYNAMIC)
Listing dataInstagram posts. Images load from Instagram's CDN and detail links go to instagram.comImage hosts and link targetsThe site holds no listing data of its own
AnalyticsGoogle Tag Manager and Cloudflare Web Analyticsgtm.js, dataLayerUnconfirmed which tags fire, and whether Viber, WhatsApp and call clicks are tracked
FormsCustom contact form with Cloudflare TurnstileHidden cf-turnstile-response fieldGood spam protection; no phone field and no privacy consent
Security headersHSTS, X-Frame-Options, X-Content-Type-Options, Referrer-PolicyResponse headersNo Content-Security-Policy or Permissions-Policy
DeveloperTechnomancer"Powered by" footer linkBuilt by an agency

Findings

Grouped by area, highest impact first. Effort: S = hours to a day, M = days, L = a week or more.

1. Listings and conversion

IssueWhy it mattersFixEffort
No property detail pages. "View Property Details" opens Instagram in the same tabVisitors leave, often hit Instagram's login wall, and rarely come backBuild /listing/{slug} pages: gallery, price, type, beds/baths, floor area, parking, map, property ID, enquiry formM–L
Cards show no price, size, bedrooms or Sale/Lease status in textBuyers filter by budget and size first. Instagram has this data (e.g. Kroma Tower: 1BR, 60 sqm, ₱13.8M) but the site hides itShow price, type, beds and sqm on each cardS
Only a free-text search, no filtersHard to browse more than a few listingsFilters for Sale/Lease, location, type, price range, bedroomsM
The details button only appears after clicking a card, and cards aren't linksHidden CTA, poor on touch devices, not crawlableMake the whole card a real link to its detail pageS
Card location repeats the title ("Kroma Tower / Kroma Tower")Wasted space, looks unfinishedShow city or area (Makati, BGC Taguig)S
Viber and WhatsApp links don't say which propertyAgents have to ask "which unit?" every timePrefill messages and forms with the property IDS
No testimonials, closed deals, partner developers or named banksHigh-end buyers need proof before reaching outAdd a proof section: deals closed, reviews, bank partners, pressS–M

2. SEO

IssueWhy it mattersFixEffort
Server HTML has no visible text and no H1Google has to run JavaScript to see anything. Other crawlers, AI tools and link previews see a blank pageTurn on Inertia SSR (supported natively by Laravel and Vue)M
About, Listings and Contact share one meta description and one server-side titleWeak, duplicate snippets. Google shows Contact as just "Transcend Realty & Consultancy"Unique title and description per page, rendered on the serverS
No sitemap.xmlSlower discovery of new listingsGenerate a sitemap with every listing and submit it in Search ConsoleS
No canonical tagsDuplicate URL riskSelf-referencing canonicalsS
No structured dataNo rich results, weaker local signalsRealEstateAgent schema site-wide, listing schema per propertyS–M
Only 4 URLs indexed, none per propertyNo chance of ranking for "condo for sale Makati" and similar searchesComes with the listing pages aboveM
robots.txt blocks GPTBot, ClaudeBot, Google-Extended and other AI crawlersThe firm won't show up when buyers ask AI assistants for brokersBlock AI training if they want, but allow AI search botsS
No Twitter/X card tags; generic logo as OG imageWeak previews when shared on Viber, Messenger and FacebookCard tags and a per-listing OG imageS

3. Performance

IssueWhy it mattersFixEffort
Homepage about 15 MB, 138 requests, 107 images (12.6 MB), single images up to ~290 KBSlow on mobile data, hurts Core Web VitalsLazy-load below the fold, cap carousel slides, serve resized WebP/AVIF from the siteM
105 of 107 images have no width or heightLayout shift while images loadExplicit dimensions or aspect-ratioS
Two font services plus 3 Font Awesome filesExtra requests, slower first renderSelf-host the 2 fonts used; inline SVG iconsS
HTML isn't cached; server response about 640 msEvery visit waits on the originCache guest HTML at Cloudflare or tune the originM
PageSpeed Insights received the Cloudflare challenge (HTTP 403)No real baseline to reportAllow-list Lighthouse, then re-runS

4. Content and trust

IssueWhy it mattersFixEffort
Contact details conflict across the site, Instagram, hero photo watermarks and Dot Property (3 emails, 2 mobiles, 2 addresses)Confuses buyers and weakens local SEOOne set of details everywhere, including portals and watermarksS
Gmail address for a brokerage at Ayala Tower OneLooks less established; replies can land in spamUse an @trc.com.ph mailboxS
No PRC licence number or legal name ("Transcend Realty and Consultancy, OPC") on the siteCredibility. RESA (RA 9646) also requires licence details on property ads, so the client should confirm complianceLicence and legal name in the footer and on listing pagesS
About copy reads like an internal brief ("Transcend Realty highlights how its owner established…")Sounds unedited on the page that should build trust mostRewrite in first person; add founder photo, credentials, team, track recordS
No privacy policy; no consent on the contact formThe Data Privacy Act (RA 10173) requires itPrivacy policy page and a consent line on formsS

5. UX and design

IssueWhy it mattersFixEffort
"Explore Listings" overlaps the "SELL • INVEST • RENT" text in the heroVisible bug above the foldFix spacing and positioningS
Header CTAs are only Viber and WhatsApp iconsHigh-value clients often prefer to call; icons are easy to missA labeled "Book a consultation" button and a click-to-call numberS
Mobile layout not reviewed in this passMost local property traffic is mobileReview on a 390px viewportS

6. Security and technical hygiene

IssueWhy it mattersFixEffort
Public pages send Jetstream data including role names (admin, super_admin) and canRegisterMinor information leak about the admin setupShare auth props only with logged-in users; confirm registration is offS
No Content-Security-Policy or Permissions-PolicyMissing defense in depthAdd both headersS
Listings depend on the Instagram feed (mechanism unconfirmed)If the token or API breaks, the listings page could go emptyStore listings in the site's own databaseM

Roadmap

What to do, in order.

Under a week

Quick wins

  1. Unify contact details; switch to a domain email.
  2. Fix the hero overlap; add a labeled call or consultation CTA.
  3. Add PRC licence, legal name, privacy policy and form consent.
  4. Unique titles and descriptions, canonicals, sitemap, RealEstateAgent schema; submit to Search Console.
  5. Loosen the Cloudflare challenge, then re-run PageSpeed.
  6. Lazy-load images, set dimensions, drop the extra font provider.
  7. GA4 conversion events for Viber, WhatsApp, call and form.
  8. Rewrite the About page opening.

1 to 4 weeks

Medium

  1. Listing management in the existing Laravel admin (Filament is a quick add).
  2. Property detail pages with enquiry forms, prefilled messaging and listing schema.
  3. Filters for Sale/Lease, location, type, price and bedrooms.
  4. Turn on Inertia SSR so every page is crawlable.
  5. Image pipeline: resize and serve WebP/AVIF from the site.
  6. Proof section, and a claimed, consistent Google Business Profile.

Strategic: upgrade, don't rebuild

The stack (Laravel, Vue, Inertia, Tailwind, Cloudflare) is modern and fits the job. The real gap is the content model: the site owns no listing data, so it can't rank, convert or track leads.

The recommended move is a listings engine and SEO upgrade. Listings are managed on the site and shared to Instagram from there, and every property page works as a landing page.

Method and limits

How this was checked, and what wasn't.

  • Reviewed on 3 November 2026 in a real Chrome session after Cloudflare's challenge cleared: Home, About, Listings, Contact, a listing CTA, robots.txt and sitemap paths, response headers, and Google site: and brand searches.
  • PageSpeed Insights scored the Cloudflare challenge page (HTTP 403), not the real site, so those scores are left out.
  • Not verified: mobile layout, which tags GTM fires, how the Instagram feed is pulled in, keyboard and contrast accessibility, and whether a Google Business Profile exists.
  • Performance figures come from one desktop page load. Treat them as indicative.