Portfolio demo · fictional brokerage, sample data. Built by Myles Parslow.
N
NORTHFIELD REALTY
Website security review & protection plan · sample case report

northfield-realty.example is carrying hidden links it never asked for.

Several of the site's pages end with a block of hidden links to unrelated, low-quality sites. Visitors never see them. Search engines do. This page shows what a review like this finds, what it means for the business, and how the site would be cleaned up and kept from getting infected again.

Method public pages only, no login, no scanning
Prepared for Dana Reyes
Case type SEO spam injection
Several
pages carrying hidden spam links, including core buyer and seller guides
Poisoned
robots.txt listing fake sitemaps the firm never created
Outdated
CMS core and plugins, well behind current security releases
Backdoor
re-injecting the content on every page load
What we found

Six findings, in plain English

Everything here is visible to any visitor or to a search engine. A first review does not log in, run scanners, or touch the server. Severity reflects how much it can hurt the business, not how hard it is to fix.

Critical

Hidden spam links injected into several pages

A number of guide and tool pages end with an invisible block of outbound links. The anchor text and destinations are unrelated, low-quality sites that have nothing to do with real estate. The homepage and a few other pages are clean, which is typical: the injection targets pages with the most search traffic.

The block is wrapped in a style that hides it from people while leaving it fully readable to search engines. That is the point: someone is borrowing the reputation of a trusted local brokerage to rank their own sites.

hidden with CSS
Critical

A backdoor re-injects the content

The links are not typed into the pages. The site's code reaches out to an outside server on page load and inserts whatever comes back, which is why removing the links in the page editor does not make them stay gone. Some pages also print raw server error messages just above the hidden block, a tell-tale sign of the same mechanism.

This matters more than the links themselves. Whoever controls the outside server can change the payload at any time: redirect visitors, show a fake login form, or serve malware, without touching the site again. It also confirms the problem lives in the site's code or hosting account, not only in the page text.

High

robots.txt has been poisoned

The robots.txt file, which tells search engines where to look, was rewritten to list many sitemaps with random numbers in their names. The site's real sitemap lives at a different address. Fake sitemap entries are a textbook way to feed spam pages to search engines under a legitimate domain.

Search Console will show whether those addresses serve spam only to search crawlers and whether Google has already flagged the site.

High

The CMS and its plugins are out of date

The content management system, the SEO plugin and the contact-form plugin are all several releases behind. The theme and page-builder plugins come from the original site vendor and are locked to that old core.

Out-of-date plugins are the most common way sites like this get compromised. This is almost certainly how the injection got in, and it will keep happening until updates are routine.

Medium

Security tooling is present but not doing its job

A security plugin is installed and a CDN sits in front of the site. Neither prevented the injection or caught it afterwards, which usually means free tiers are on with default settings and nobody is reading the alerts.

The site also sends few of the standard browser security headers (transport security, content-security policy, frame and MIME protections). These are quick to add and make several classes of attack harder.

In place

Some basics are already right

The site forces HTTPS, remote-publishing endpoints are blocked, the public list of user accounts is locked down, and the login page cannot be embedded in other sites. These are worth keeping through the cleanup.

HTTPS enforcedremote publishing blockeduser listing blockedCDN proxy on
Why it matters

What this costs a brokerage if it stays

Search rankings and the "hacked" label

Search engines detect injected links and fake sitemaps. The usual outcomes are a "This site may be hacked" warning under the listing, a manual penalty, and a drop for the pages that bring in buyer and seller searches. Recovery takes weeks after cleanup, so every month of delay compounds.

Reputation with clients and agents

Anyone who views the page source, uses an ad blocker that flags low-quality domains, or gets a browser or antivirus warning sees the brokerage's name next to content it would never endorse. Agents share these guide pages with clients every week.

Fair housing and brand risk

A brokerage is held to a higher standard for what appears under its name. Injected content is outside its control, and the attacker can change it to anything, including discriminatory or defamatory text, overnight.

Lead and data exposure

The same access that inserts links can read what visitors type into contact and valuation forms. Names, phones, addresses and financing details flow through the site, and breach-notification rules may apply if that data is taken.

Email deliverability

Domains associated with spam campaigns get scored down by mail providers. Agents' email from the firm's domain can start landing in junk folders with no obvious cause.

It gets worse quietly

Today it is links. Spam operators routinely resell access, and the next buyer may redirect visitors or plant a fake "sign in to view this listing" page. Nothing on the site will look different until a client calls.

The fix plan

Clean it, lock it, watch it

Three phases. The first needs access to the hosting account and CMS admin, which only the owner or the site vendor can grant. The rest runs on a schedule and reports back monthly in plain language.

Phase 1

Cleanup

  • Take a full snapshot of files and database before touching anything, so nothing is lost.
  • Scan every file and the database for the injection and the backdoor that feeds it. Remove both.
  • Reinstall the CMS core, theme and plugins from clean copies and update to current versions.
  • Rotate every credential: CMS users, hosting, FTP, database, security keys. Remove unknown admin accounts.
  • Restore the real robots.txt and sitemap. Remove any doorway pages.
  • Check Search Console for a manual action and request review if one exists. Request a re-crawl of the affected pages.
  • Re-verify every page from the outside, then again after a few days.
Needs: hosting login or invite, CMS admin, Search Console access, site vendor contact.
Phase 2

Hardening

  • Two-factor sign-in for every account. Move the login page off the default address and rate-limit attempts.
  • Turn on CDN firewall rules and bot filtering in front of the CMS and the admin area.
  • Add the missing browser security headers.
  • Disable in-dashboard file editing. Lock file permissions. Remove unused plugins and themes.
  • Least-privilege accounts: agents who only need to edit their profile do not get admin.
  • Current runtime version, automatic minor updates, and a tested weekly update routine for plugins.
Needs: CDN or domain-registrar access.
Ongoing

Monitoring

  • Uptime checks from several locations, with a text alert if the site is down.
  • Daily malware and spam scan of every page from the outside, the way a search engine sees it.
  • Link-change alerts: every page's outbound links are recorded daily, and any new domain appearing triggers an alert. This would have caught the current problem on day one.
  • Safe Browsing and blocklist checks, and Search Console alerts routed to the care team.
  • Daily off-site backups with a quarterly restore test so we know they work.
  • Plugin and core updates applied weekly after a staging check.
  • A one-page monthly report: what was scanned, what was updated, anything that needs a decision.
Needs: nothing further once access is set up.
A simpler option

A static site has far less to attack

Today: database-driven CMS

A database, server-side code, many plugins and a public login page

  • Every plugin is code running on the server that can be exploited.
  • Pages are assembled on each visit, so injected code runs every time.
  • Updates must be applied forever, by someone, on schedule.
  • The admin login is the front door for brute-force and phishing.
Alternative: static site

Plain pages served from a global network, nothing to break into

  • No server-side code, no database, no plugins. Nothing for an injection to live in.
  • Pages are fixed files. If one changes, the monitor knows exactly which and why.
  • Forms and listing search run through dedicated, hardened services, not the site itself.
  • Faster load times and a very small hosting footprint as a side effect.

Moving to a static site closes most of this list for good, and the monitoring plan keeps watch over the rest: domain, email, listing-search vendor and the brokerage's accounts.

Ongoing care

One cleanup, then a plan that fits

Every plan includes a cleanup guarantee: if the same infection returns shortly after cleanup, it is fixed at no charge.

One time

Cleanup & Lockdown

Required first step for any plan. Done within a few business days of receiving access.

  • Full backup, malware and backdoor removal
  • Clean reinstall and updates of core, theme, plugins
  • All credentials rotated, rogue accounts removed
  • robots.txt and sitemaps restored
  • Search Console review and re-crawl request
  • Written report of what was found and removed
  • Reinfection guarantee
Monthly

Watch

Know within the hour if anything changes. For a site that stays on its current CMS with light editing.

  • Uptime monitoring with text alerts
  • Daily external malware and spam scan
  • Daily outbound-link change alerts
  • Weekly plugin and core updates
  • Daily off-site backups
  • Monthly one-page report
Monthly · Recommended

Guard

Everything in Watch, plus the protections that stop the next attempt instead of just reporting it.

  • Everything in Watch
  • CDN firewall and bot rules, tuned and maintained
  • Two-factor sign-in and login hardening for all users
  • Security headers and file-permission lockdown
  • Search Console and Safe Browsing monitoring
  • Same-business-day incident response
  • Quarterly security review and restore test
  • Annual phishing and account-safety briefing for agents
Monthly

Guard + Static Hosting

For a rebuilt static site. Hosting, monitoring and the brokerage's whole web footprint under one roof.

  • Everything in Guard
  • Hosting of the static site on a global edge network, SSL included
  • Hardened form and lead-capture endpoints with spam filtering
  • Staging copy for every change before it goes live
  • Domain, DNS and email-authentication (SPF, DKIM, DMARC) monitoring
  • Annual review of listing-search and other vendor integrations
  • Fast incident response, including weekends

Plans are shown without pricing in this sample report.

To get started

What we would need from the broker

Until access is granted, nothing on the live site changes. The review above was done entirely from the outside, the same way a visitor or a search engine sees it.