LGTM
This commit is contained in:
parent
701c17a703
commit
f114ada255
44 changed files with 5264 additions and 1674 deletions
|
|
@ -94,7 +94,7 @@ export const SEO_LANDING_PAGES: Record<SeoLandingKey, SeoLandingContent> = {
|
|||
},
|
||||
{
|
||||
title: 'Separate cheap from good value',
|
||||
body: 'A lower price can reflect smaller homes, weaker transport, more noise, or fewer local services. The map keeps those trade-offs visible so the cheapest postcode is not automatically treated as the best option.',
|
||||
body: 'A lower price can reflect smaller homes, weaker transport, more noise, or fewer local services. The map keeps those trade-offs visible so the cheapest postcode isn’t automatically treated as the best option.',
|
||||
},
|
||||
],
|
||||
sections: [
|
||||
|
|
@ -110,7 +110,7 @@ export const SEO_LANDING_PAGES: Record<SeoLandingKey, SeoLandingContent> = {
|
|||
methodology: [
|
||||
{
|
||||
title: 'What the price data is for',
|
||||
body: 'Use the map to compare areas and spot search candidates. It is not a valuation, mortgage decision, survey, legal search, or live listing feed.',
|
||||
body: 'Use the map to compare areas and spot search candidates. It isn’t a valuation, mortgage decision, survey, legal search, or live listing feed.',
|
||||
},
|
||||
{
|
||||
title: 'How to validate a promising area',
|
||||
|
|
@ -121,7 +121,7 @@ export const SEO_LANDING_PAGES: Record<SeoLandingKey, SeoLandingContent> = {
|
|||
{
|
||||
question: 'Is this a replacement for Rightmove or Zoopla?',
|
||||
answer:
|
||||
'No. Use it before and alongside listing portals. Perfect Postcode helps decide where to look; listing portals show what is currently for sale.',
|
||||
'No. Use it before and alongside listing portals. Perfect Postcode helps decide where to look; listing portals show what’s currently for sale.',
|
||||
},
|
||||
{
|
||||
question: 'Can I compare price with schools or commute time?',
|
||||
|
|
@ -232,11 +232,11 @@ export const SEO_LANDING_PAGES: Record<SeoLandingKey, SeoLandingContent> = {
|
|||
workflows: [
|
||||
{
|
||||
title: 'Start with the destination that matters',
|
||||
body: 'Choose a commute destination, transport mode, and time range, then add the property filters. This prevents a cheap-looking area from reaching the shortlist if the daily journey does not work.',
|
||||
body: 'Choose a commute destination, transport mode, and time range, then add the property filters. This prevents a cheap-looking area from reaching the shortlist if the daily journey doesn’t work.',
|
||||
},
|
||||
{
|
||||
title: 'Compare the commute against the rest of daily life',
|
||||
body: 'A fast commute is not enough if the property size, school context, safety threshold, broadband, or road-noise exposure do not fit. The map keeps those signals side by side.',
|
||||
body: 'A fast commute isn’t enough if the property size, school context, safety threshold, broadband, or road-noise exposure don’t fit. The map keeps those signals side by side.',
|
||||
},
|
||||
],
|
||||
sections: [
|
||||
|
|
@ -397,15 +397,15 @@ export const SEO_LANDING_PAGES: Record<SeoLandingKey, SeoLandingContent> = {
|
|||
body: 'A postcode check can surface price context, environmental signals, nearby amenities, and other local indicators that are easy to miss in a listing.',
|
||||
},
|
||||
{
|
||||
title: 'What a postcode check cannot prove',
|
||||
body: 'It cannot confirm the condition of a home, future development, legal title, lender requirements, or current street-level experience. Those still need direct checks.',
|
||||
title: 'What a postcode check can’t prove',
|
||||
body: 'It can’t confirm the condition of a home, future development, legal title, lender requirements, or current street-level experience. Those still need direct checks.',
|
||||
},
|
||||
],
|
||||
faq: [
|
||||
{
|
||||
question: 'Can I use the checker before a viewing?',
|
||||
answer:
|
||||
'Yes. That is one of the main use cases: screen the postcode first, then decide whether the viewing is worth the time.',
|
||||
'Yes. That’s one of the main use cases: screen the postcode first, then decide whether the viewing is worth the time.',
|
||||
},
|
||||
{
|
||||
question: 'Does the checker include exact property condition?',
|
||||
|
|
@ -654,7 +654,7 @@ export const SEO_CONTENT_PAGES: Record<SeoContentKey, SeoContentPage> = {
|
|||
metaDescription:
|
||||
'Understand how to use postcode filters, property estimates, travel-time data, school context and local signals as a home-buying shortlist tool.',
|
||||
intro:
|
||||
'Perfect Postcode is designed to make area shortlisting more evidence-led. It does not replace estate agents, surveyors, conveyancers, lenders, school admissions teams, or local authority checks.',
|
||||
'Perfect Postcode is designed to make area shortlisting more evidence-led. It doesn’t replace estate agents, surveyors, conveyancers, lenders, school admissions teams, or local authority checks.',
|
||||
sections: [
|
||||
{
|
||||
title: 'Start with hard constraints',
|
||||
|
|
@ -665,7 +665,7 @@ export const SEO_CONTENT_PAGES: Record<SeoContentKey, SeoContentPage> = {
|
|||
body: 'After filtering, colour the remaining map by one signal at a time: price per square metre, road noise, school context, commute time, broadband, or crime. This makes trade-offs easier to discuss.',
|
||||
},
|
||||
{
|
||||
title: 'Measure what is working',
|
||||
title: 'Measure what’s working',
|
||||
body: 'Use Search Console and analytics to track which public pages are indexed, which queries produce impressions, and which pages convert visitors into dashboard exploration. Review Core Web Vitals after every substantial frontend change.',
|
||||
},
|
||||
],
|
||||
|
|
@ -715,11 +715,11 @@ export const SEO_CONTENT_PAGES: Record<SeoContentKey, SeoContentPage> = {
|
|||
},
|
||||
{
|
||||
title: 'Saved search data is account-scoped',
|
||||
body: 'Saved searches and properties are intended for signed-in use. They are not included in the public sitemap and should not be crawlable as public content.',
|
||||
body: 'Saved searches and properties are intended for signed-in use. They aren’t included in the public sitemap and shouldn’t be crawlable as public content.',
|
||||
},
|
||||
{
|
||||
title: 'Search measurement without exposing private data',
|
||||
body: 'SEO measurement should happen on public pages using aggregated analytics and Search Console data. Private query parameters and account views should not become indexable landing pages.',
|
||||
body: 'SEO measurement should happen on public pages using aggregated analytics and Search Console data. Private query parameters and account views shouldn’t become indexable landing pages.',
|
||||
},
|
||||
],
|
||||
faq: [
|
||||
|
|
@ -731,7 +731,7 @@ export const SEO_CONTENT_PAGES: Record<SeoContentKey, SeoContentPage> = {
|
|||
{
|
||||
question: 'Can private dashboard URLs appear in search?',
|
||||
answer:
|
||||
'They should not be indexed. The server marks private routes noindex and the sitemap only lists public pages.',
|
||||
'They shouldn’t be indexed. The server marks private routes noindex and the sitemap only lists public pages.',
|
||||
},
|
||||
],
|
||||
relatedLinks: [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue