Pages render as empty SPA shells with no server-rendered links, harming crawlability and indexation.
By Seoxpert Editorial · Published
Search engines that don't execute JavaScript, or do so unreliably, see empty pages with no internal links. This prevents discovery of other site pages and disrupts link equity flow, severely impacting SEO and site visibility.
Unresolved, only explicitly listed URLs are indexed and most site pages remain undiscovered by search engines.
Automated crawlers detect fewer than 3 <a> tags in server-rendered HTML on pages with heavy JavaScript usage.
Problem: Navigation rendered only client-side (React)
// Server-rendered HTML contains no <a> tags
function Nav() {
const [links, setLinks] = useState([]);
useEffect(() => {
setLinks([
{ href: '/home', label: 'Home' },
{ href: '/about', label: 'About' }
]);
}, []);
return (
<nav>
{links.map(link => (
<a key={link.href} href={link.href}>{link.label}</a>
))}
</nav>
);
}Fix: Navigation rendered server-side (Next.js getStaticProps
// getStaticProps ensures links are in initial HTML
export async function getStaticProps() {
return {
props: {
links: [
{ href: '/home', label: 'Home' },
{ href: '/about', label: 'About' }
]
}
};
}
function Nav({ links }) {
return (
<nav>
{links.map(link => (
<a key={link.href} href={link.href}>{link.label}</a>
))}
</nav>
);
}If navigation and links are only rendered after JavaScript loads, crawlers that don't execute JS see an empty page.
No. Google does, but with delays and unreliability. Bing, DuckDuckGo, and most others do not execute JavaScript at all.
Yes, server-rendering primary navigation and footer links ensures basic crawlability and link discovery.
View your page source (not the DOM inspector) and look for <a href> tags in the initial HTML.
Run a scan to see if Pages Appear to Be SPA Shells Without Server-Rendered Links affects your pages.
Scan my website →