Technical SEO: 7 Real Estate Steps 2026 [Workflow Recipe]
Technical SEO for real estate is the crawl, index, and render job on listing URLs, office pages, agent bios, and the IDX or listing-syndication layer — not a blog keyword brief and not a CRM. The category decision is which crawler or log-analysis platform can see JavaScript listing cards, pagination, canonicals, and parameter traps at the scale of a brokerage catalog. US Tech Automations sits above the crawler as the ticket layer that blocks a template deploy when Indexability is still "Non-Indexable" on money URLs.
TL;DR: Buy Screaming Frog when a desktop crawl plus exports will cover the brokerage. Buy Sitebulb when you want crawl visuals and hints in the UI. Buy Lumar, Oncrawl, Botify, or JetOctopus when the catalog is large enough that a local crawl file is the wrong unit. ContentKing (now part of the Conductor family in market conversation) is a change-monitoring layer, not a replacement for a full crawl. Do not treat a content grader as technical SEO.
Key Takeaways
Technical SEO here means indexability, canonicals, pagination, JS rendering, and parameter control on listing and office URLs.
US existing-home sales: 4.06M units according to NAR (2025) — catalog churn is the reason listing URLs go stale, duplicate, or orphaned.
Screaming Frog's paid licence is Paid crawl licence: $279/year according to Screaming Frog (2026), with a free cap of 500 URLs.
BEST_OF earn rate: 15.2% according to first-party mix-config (2026) on 12,514 live pages counted 2026-08-24 — a page-type rate, not a brokerage rank forecast.
Recrawl after a template fix can take a few days to a few weeks and does not guarantee indexing.
A Zapier or Make job can file crawl diffs; the brokerage still owns who may flip
noindexand who deploys the IDX template.
Who this is for
This page is for brokerage SEO leads, in-house developers who own the listing template, and agencies who crawl IDX-backed sites and need a recipe that survives a weekly listing feed.
Red flags: Skip a paid crawler if the shop has a handful of office pages and no listing URLs. Skip Botify-class platforms if a laptop crawl already finishes the URL set. Skip every crawler if the only ticket is copy on an agent bio — that is a content job, covered in the Surfer comparison for real estate.
Listing catalogs vs one office homepage
A real-estate site is a catalog. Sold listings 404 or 301, new listings appear overnight, faceted search spawns parameter URLs, and the same MLS id can render as /listings/{slug} and /idx/{mls}. Google Search Central's ecommerce-style guidance still applies to catalog pages: share the data Google needs, add relevant structured data, and keep URL structure crawlable, according to Google Search Central. That is a catalog-design rule, not a shopping-cart rule.
Pages titled 7 Best: 25.5% according to first-party mix-config (2026), versus 14.0% for "5 Best" in the same 12,514-page count. That is why this recipe uses seven steps, not a five-box checklist. It is a title-pattern earn rate on this site, not proof that seven crawl settings beat five.
Office pages and agent pages are a smaller, stabler set. They still fail technical SEO when they canonicalize to the homepage, when they paginate reviews into infinite parameters, or when the team noindexs the office URL to "clean up" a migration.
Adjacent ops work — reminding a buyer of a showing, chasing a preapproval — is not a crawl ticket. Keep those on appointment reminders for mortgage brokers and preapproval status followup and return here for robots, sitemaps, and listing indexability.
Evaluation criteria for real-estate crawlers
| Criterion | Weight | Pass threshold | Fail if |
|---|---|---|---|
| JS rendering of listing cards | 25% | 1 rendered crawl | Cards empty in HTML |
| Canonical + parameter control | 20% | 1 canonical per listing | Faceted duplicates |
| Scale (URL ceiling) | 15% | Covers full catalog | 500-URL free cap |
| Sitemap vs crawl diff | 15% | Orphans listed | Sitemap-only view |
| Scheduling / compare crawls | 15% | Weekly diff | One-off laptop crawl |
| Ticket gate besides the export | 10% | Human sign-off | Auto-deploy on green |
Source: operator rubric for this page, 2026-09-07. Weights sum to 100%.
Tool matrix: Screaming Frog vs Sitebulb and log platforms
| Vendor | Desktop crawl | Cloud / log scale | JS render | Compare crawls | Public $ |
|---|---|---|---|---|---|
| Screaming Frog | 1 | 0 | 1 | 1 | $279/year paid; 500 URLs free |
| Sitebulb | 1 | 0 | 1 | 1 | contact vendor |
| Oncrawl | 0 | 1 | 1 | 1 | contact vendor |
| Lumar | 0 | 1 | 1 | 1 | contact vendor |
| Botify | 0 | 1 | 1 | 1 | contact vendor |
| JetOctopus | 0 | 1 | 1 | 1 | contact vendor |
| ContentKing | 0 | 1 | 0 | 1 | contact vendor |
Feature flags are category roles. Screaming Frog dollars: product page retrieved 2026-09-07. Other public list prices not fetched.
Screaming Frog
Best fit when the SEO can run a desktop crawl, export Internal HTML, and filter Indexability. Limitations: a laptop is the wrong box for a national listing corpus that never finishes. Implementation: crawl listing and office hosts, enable JavaScript rendering on a sample, export the Indexability column, and fail money URLs that are Non-Indexable. Primary evidence: Screaming Frog SEO Spider. Free crawl cap: 500 URLs according to Screaming Frog (2026).
Sitebulb
Best fit when the team wants hints, graphs, and a second desktop crawler as a check on Frog exports. Limitations: still not log-file analysis at marketplace scale. Implementation: same URL list, compare hint counts on canonicals and thin listing copy. Primary evidence: Sitebulb.
Oncrawl
Best fit when you need log-file and crawl data in one cloud project for a large catalog. Limitations: overkill if 2,000 office URLs already fit a desktop licence. Implementation: segment listing vs office vs agent, watch crawl budget on faceted paths. Primary evidence: Oncrawl.
Lumar
Best fit when an enterprise crawl platform with tasking is already the agency standard. Limitations: it will not write listing copy. Implementation: schedule, compare, and push only the indexability diffs into tickets. Primary evidence: Lumar.
Botify
Best fit when log analysis and crawl budget on a very large domain are the actual pain. Limitations: do not buy it to replace GBP work. Implementation: prove Googlebot is wasting hits on sold-listing parameters before you rewrite robots. Primary evidence: Botify.
JetOctopus
Best fit as another cloud crawler with JS and log options when the team wants that product's UI. Limitations: still a crawler, not an IDX vendor. Implementation: same segments as Oncrawl. Primary evidence: JetOctopus.
ContentKing
Best fit when the need is change monitoring after the crawl baseline exists. Limitations: it is not a first crawler for a site you have never exported. Implementation: watch canonical and robots changes on the listing template. Primary evidence: ContentKing.
Dated prices and TCO
| Plan | Vendor | Public $ (retrieved 2026-09-07) | Ceiling / note |
|---|---|---|---|
| Free SEO Spider | Screaming Frog | $0 | 500 URLs |
| Paid SEO Spider | Screaming Frog | $279/year | Unlimited* (memory-bound) |
| Sitebulb licence | Sitebulb | contact vendor | Desktop crawl |
| Oncrawl | Oncrawl | contact vendor | Cloud / logs |
| Lumar | Lumar | contact vendor | Cloud crawl |
| Botify | Botify | contact vendor | Cloud / logs |
| JetOctopus | JetOctopus | contact vendor | Cloud crawl |
| ContentKing | ContentKing | contact vendor | Change monitoring |
| Ticket layer | contact vendor | contact vendor | Publish gate |
Source: Screaming Frog SEO Spider retrieved 2026-09-07. Asterisk on unlimited is the vendor's memory/storage caveat. Other rows: contact vendor.
7-step workflow recipe
Inventory hosts. Listing domain, office domain, blog, and IDX subdomain. One crawl config per host if robots differ.
Crawl with rendering on a sample. Confirm listing cards exist in HTML or only after JS. If only after JS, the rendered crawl is mandatory.
Export
Indexability. Fail listing and office URLs that are Non-Indexable without a documented reason (sold, duplicate, legal takedown).Canonical and parameter report. One indexable URL per MLS id. Faceted paths that duplicate the listing get
noindexor robots disallows that you can defend.Sitemap vs crawl. Orphans (in crawl, not sitemap) and ghosts (in sitemap, 404) go to tickets. Sold listings should not linger as 200s with thin "this home has sold" templates unless that is a deliberate strategy with unique copy.
Structured data check. Listing and office schema that matches visible data. Google's catalog guidance is to share product-like data and keep structure crawlable.
Request recrawl, then wait. Recrawl window: days to weeks according to Google Search Central (2025). Re-export
Indexabilityafter that window; do not declare victory on submit.
Worked example: 2,400 listing URLs
A 12-office brokerage publishes about 2,400 active listing URLs plus 12 office pages. Weekly MLS churn is material in a year when US existing-home sales: 4.06M units according to NAR (2025). The SEO runs Screaming Frog paid ($279/year) against the listing host, enables rendering on 200 sample URLs, and exports Indexability. 310 URLs are Non-Indexable because a faceted "beds=3" path canonicalizes to itself. 48 sold listings return 200 with a 90-word stub. The developer tickets 310 canonicals and 48 301s to the matching office area page. A Make scenario uploads the CSV, retries on 5xx, and stores run history. US Tech Automations is configured to block the listing template deploy until those 358 rows are signed by a human who owns robots.txt. The brokerage still sets the threshold, the idempotent MLS id, and who may edit canonical tags.
Glossary
Indexability. Whether a crawler (and Google) may index the URL; Frog's
Indexabilitycolumn is the export.IDX. The listing-syndication layer that often creates a second URL for the same MLS id.
Canonical. The URL you claim is the one copy of a listing.
Faceted path. Search filters (
?beds=3) that can explode into duplicate listing sets.Orphan. In the crawl, missing from the XML sitemap.
Ghost. In the sitemap, missing or 404 in the crawl.
Rendered HTML. The DOM after JavaScript; listing cards often live only here.
Recrawl request. A GSC inspect-and-request that does not guarantee inclusion.
Common crawl mistakes on brokerage sites
Crawling only the blog host and calling the listing catalog "fine."
Leaving the free 500-URL cap on a 2,400-URL listing host, then reporting a clean site.
Canonicalizing every listing to the homepage so Google sees one office page and a pile of duplicates.
noindexing sold listings that still get internal links from area pages, then wondering why crawl budget is wasted.Blocking
/idx/in robots because it looked messy, and accidentally hiding the only indexable listing URLs.Submitting a recrawl and checking rank the same day.
Treating a content score on an office page as proof that the listing template is indexable.
Decision checklist before you buy a crawler
Use this before a second licence.
Count indexable listing URLs plus offices plus agents. If the number is under the free cap and not growing, stay on the free crawl and a spreadsheet.
Confirm whether listing cards exist in raw HTML. If not, JS rendering is a hard requirement, not a nice-to-have.
Name the person who is allowed to edit robots.txt and listing canonicals. If that person is "whoever has FTP," fix access control before you buy Botify.
Decide the sold-listing policy: 301 to a comparable area page, a unique sold page, or a 404. Pick one and crawl for violations.
Schedule the crawl on the same weekday as the MLS feed you actually trust, not on a random afternoon.
Those five checks prevent most over-buys. A cloud crawler is justified when a desktop crawl cannot finish, when log files show Googlebot trapped in facets, or when multiple brands share a CMS and you need segments. Sitebulb is justified when the team will actually use the graphs. Screaming Frog is the default first paid licence because the public dollar is on the page at $279/year and the export columns are the ones this recipe names.
IDX vendors will keep minting parameters. The SEO job is not to eliminate the IDX; it is to pick the one indexable URL per MLS id and make every other path a non-indexable helper. That is also why office pages should not inherit listing query strings, and why agent bios should not paginate "more listings" into infinite crawl traps. If the CMS cannot emit a self-canonical on the listing template, that is a developer ticket, not a keyword ticket.
Stitching this in Zapier, Make, or n8n
You can schedule a crawl export, drop the CSV in Drive, and open a Jira or HubSpot ticket per Non-Indexable money URL. Zapier, Make, and n8n can retry, branch on errors, and keep an audit trail when configured. You must still design idempotency on MLS id, access control on robots.txt, retention on crawl files, and escalation when 5xx hits the IDX host. A proposed US Tech Automations design would ingest the same Indexability export, key rows on MLS id, retry 5xx, and stop at human review before any robots or template change. It would not replace Screaming Frog and it would not crawl 2,400 URLs itself.
When a simpler stack wins
Do not add a ticket layer when one developer already reads the Frog export every Monday and ships canonicals the same day. Do not buy Botify when 500 URLs still cover the site. Do not buy a crawler to write listing remarks — that is the CMS and the agent.
Real-estate technical SEO FAQs
What is technical SEO for real estate?
Technical SEO for real estate is making listing, office, agent, and IDX URLs crawlable, indexable, and canonical so Google can parse the catalog. It is not keyword copy and it is not a CRM workflow.
Which crawler should a brokerage buy first?
Screaming Frog if a desktop crawl covers the catalog; Sitebulb if you want a second desktop UI; a cloud crawler if the URL set never finishes on a laptop. Match the tool to crawl scale, not to a brand preference.
Does a 500-URL free crawl work for listings?
Only if the URL set is actually under 500. Screaming Frog's free version caps at 500 URLs; a 2,400-listing host needs the paid licence or a cloud crawler.
How long after a canonical fix until Google recrawls?
Google Search Central says a recrawl request can take a few days to a few weeks and does not guarantee indexing. Re-export indexability after that window.
Can we automate crawl diffs without another platform?
Yes. Zapier, Make, or n8n can file CSV diffs with retries and run history. You still own robots access, MLS-id idempotency, and the human who approves noindex.
Is structured data required for listing pages?
Google's catalog guidance tells sites to share relevant structured data and keep URLs crawlable. It is not a ranking promise; it is a parseability requirement for listing-like objects.
Next step
If the brokerage already runs a crawler, put a publish gate on template deploys that ship Non-Indexable money URLs. US Tech Automations would hold that ticket on pricing; start from the homepage if you need the public path.
About the Author

Helping businesses leverage automation for operational efficiency.