JavaScript SEO: How Google Renders and Indexes Dynamic Sites
JavaScript SEO explained: how Google renders pages, which rendering model to choose (SSR, SSG, CSR), common errors and how to test indexing step by step.
Key takeaways
A site migration without SEO losses follows nine steps: you define what is changing, inventory every URL, prepare the new version on a test environment, build a 301 redirect map, test it, launch with a checklist, and then monitor for weeks. Many dramatic traffic drops do not come from algorithm updates; they come from migrations done without a plan.
A migration is any change that alters what Google sees or where it sees it: a redesign, a new platform, a switch to HTTPS, a move to another domain or a restructuring of URLs. The risk is not the change itself. It is that Google has already learned the old site: it knows which addresses exist, what content they hold and which links they receive. If those vanish without explanation, it has to learn everything again.
Google's documentation is clear about expectations: when you move a site with URL changes, it can take a few weeks or more before Google gradually starts showing the new URLs instead of the old ones, and longer for large sites. Your aim is not to avoid every fluctuation but to keep it short and predictable.
If you are about to build a site from scratch to replace an old one, building an SEO-optimized website includes the migration plan from the design phase rather than after launch.
Not all migrations are equal. The table below helps you gauge how careful you need to be.
| Migration type | What changes | Rough risk | What is essential |
|---|---|---|---|
| Visual redesign, same URLs and content | Appearance | Low | Speed, titles and internal links unchanged |
| Platform change (for example, a new CMS) | Code, sometimes URLs | Medium | URL map, canonicals, structured data |
| HTTP to HTTPS | Protocol | Low–medium | Sitewide 301 redirects, updated canonicals |
| URL restructuring | All or some URLs | High | Page-by-page redirect map |
| Domain change | The domain | High | Redirects, Change of Address tool, monitoring |
| Site consolidation | Several sites into one | High | Careful content mapping, 301s to equivalents |
A practical rule: the more you change at once, the harder it is to find the cause of a problem. If you have a choice, do not change the domain, the URLs, the design and the content simultaneously.
Before anything else, write down in a document:
Save these numbers at least 3–4 weeks before launch. Without a baseline, you cannot tell whether you lost anything.
The list of old URLs is the basis of your redirect map. Collect them from several sources, because none is complete:
For each address, note organic traffic, rankings, backlinks and the page's role (home, category, service, article). Pages with traffic or links are the ones you cannot afford to lose. Keep a full copy of the old site until the migration has settled.
The new version is built on staging, protected by a password and/or noindex so Google does not index it prematurely. On staging, verify:
Do not move content over in bulk without reviewing it. A migration is a good moment to fix weak titles, but do it as a separate stage if you want to be able to isolate causes.
The redirect map is the heart of the migration: a table with two columns, the old address and the equivalent new address. The rules:
An example rule on Apache (.htaccess) for a moved page:
Redirect 301 /old-services/audit https://example.ro/audit-seoFor many URLs you use pattern-based rules (RewriteRule) or a mapping file. For short lists you can generate the rules with the 301 redirect generator. The difference between 301 and 302, plus other traps, is explained in the article on redirects.
Testing is the difference between a calm migration and a dramatic one. On staging:
robots.txt and meta robots are the production ones, prepared for launch day, not the test ones;For a spot check you do not need an expensive tool. One simple command shows what the server answers:
curl -I https://example.ro/old-services/auditRead the first lines of the response: the status code and the Location header.
| Response | What it means | What to do |
|---|---|---|
301 to the new address, then 200 | Correct | Nothing, move to the next sample |
301 to an address that does another 301 | Redirect chain | Redirect straight to the final destination |
302 | Temporary redirect | Replace with 301 if the move is permanent |
404 on a page that had an equivalent | Missing redirect | Add the rule to the redirect map |
200 on the old address | The page still exists in parallel | Decide: redirect or consolidate with a canonical |
Repeat the test on a sample of each page type, not only on the few addresses you know by heart. Mistakes usually hide in the rare cases: addresses with parameters, with capital letters, with an extra slash.
Launch during a lower-traffic period and when the team is available to react, not on a Friday night. Prepare a rollback plan: what you do if something goes seriously wrong (restoring the old site, disabling redirects). If you are changing domains, keep access to both.
On launch day, in order:
noindex and the password from the new site;Right after launch, look for the obvious problems:
If something is not indexed, see the guide to pages not indexed.
The first 4–8 weeks are the period to watch most closely: crawl errors, the number of indexed pages, clicks and impressions, main rankings. A temporary dip may occur; the direction matters, not a single day. Compare with the numbers saved in Step 1. If you have not used the indexing reports before, start with the Google Search Console beginner's guide.
Keep redirects as long as possible, generally at least a year according to Google's documentation; for user experience, they are worth keeping even longer. Update important external links to point directly at the new addresses.
Disallow: / left over from staging.Be realistic:
A successful migration is a boring one: nothing disappears, nobody notices. Start like this:
If you want the migration planned and verified by specialists, see our service for building an SEO-optimized website, with migration included. You will find more guides on the blog.
Moving a multilingual or multi-country site? Our international SEO services include migration planning with hreflang and redirects.
Frequently asked questions
Google's documentation says that for small and midsize sites it can take a few weeks or more before Google gradually shows the new URLs in place of the old ones, and longer for large sites. There is no guaranteed timeline; it depends on size, server speed and the quality of your redirects.
You can, but it raises the risk and makes diagnosis harder: if traffic drops, you will not know whether the design, the URLs or the content is to blame. When you have a choice, separate the stages: infrastructure and URLs first, then design, or the reverse, with measurements in between.
Google recommends it. For a domain or subdomain change, Search Console offers a Change of Address tool. It does not apply to moving from http to https or to moves inside the same domain. The 301 redirects remain mandatory either way; the tool complements them, it does not replace them.
If a page disappears without a replacement, redirect it to the closest relevant page, such as its parent category. If none exists, return a deliberate 404 or 410. Avoid mass redirects to the homepage: Google may treat them as soft 404s.
Yes, for the important sources. Redirects pass signals, but a direct link to the new URL removes an intermediate step and is safer long term. Prioritize authoritative domains and the pages that bring the most referral traffic; for the rest, the 301 redirect is enough.
Related service
Keep reading
JavaScript SEO explained: how Google renders pages, which rendering model to choose (SSR, SSG, CSR), common errors and how to test indexing step by step.
Structured data schema in JSON-LD: which types are worth adding, code for an organization, article and product, how to validate and what Google retired.
301 redirect or 302? The difference, how Google treats each, Apache and nginx code, a redirect map and the mistakes that cost you traffic.
Send us your website address and we’ll reply with a free initial analysis and a concrete SEO strategy — no strings attached.