# SSR expectations against the fixture SEO API (testing/fixtures). # Grammar: STATUS PATH [contains=TEXT] [notcontains=TEXT] [type=PREFIX] [header=NAME: TEXT] # report PATH # The playground pages set their own head; the answer's values win, an # empty value leaves the page's own tag, and a page the API does not know # keeps its own head. # An ok answer: every value from the answer, none of the page's. 200 / contains=Home | Acme notcontains=Own home 200 / contains= notcontains=Own home description 200 / contains= notcontains=Own home og 200 / contains= 200 / contains= 200 / header=X-Robots-Tag: index, follow 200 /about contains=About us | Acme notcontains=Own about 200 /about contains= notcontains=own-canonical.test 200 /about contains= notcontains=content="noindex" 200 /about contains= # Empty values keep the page's own tags; the template still applies. 200 /partial contains=Partial own | Playground 200 /partial contains= 200 /partial contains= # Not known to the API: the page's own head, no robots added. 200 /plain contains=Plain page | Playground notcontains=name="robots" # Staging: noindex wins over the page's index, also on a page the API does not know. 200 /staging contains= notcontains=index, follow 200 /staging header=X-Robots-Tag: noindex, nofollow # Redirects: the site's own origin becomes a path, another host stays absolute. 301 /old-path header=Location: /about 302 /old-temp?ref=1 header=Location: /about?x=1 301 /moved header=Location: https://other.test/x # 410 wins over the route, also over a page that would render. 410 /gone-path 410 /posts/gone-post 200 /posts/known contains=Known post | Playground # 404s, from an unknown route and from a page, are reported to the log. 404 /missing-page 404 /posts/nope report /missing-page report /posts/nope # Verification files at the root; anything else falls through. 200 /google0123.html contains=google-site-verification: google0123.html header=X-Content-Type-Options: nosniff 404 /unknown0123.html 404 /robots.txt