The Next.js Template Checklist: 12 Tests Before You Buy
You are about to spend money on a Next.js template or download a free one and spend three weeks on it. This checklist helps you inspect architecture, SEO readiness, and maintenance risk before you commit.
You are about to spend money on a Next.js template - or download a free one and spend three weeks on it. Either way, the decision commits you to an architecture, a quality level, and a maintenance burden for the life of the project. Most buyers skip the inspection step entirely. They look at the demo, check the price, and buy.
This is a mistake that costs real money.
After building production Next.js infrastructure for clients across multiple industries, we compiled the twelve questions that separate templates worth buying from templates that look good in screenshots and fall apart in production. Run every template you evaluate - free or paid, marketplace or independent studio - through this checklist before committing.
Most templates fail at least four of them. Some fail eight.
How to Use This Checklist
For each test, you need either the live demo URL, the GitHub repository, or the page source. All twelve checks can be completed in under twenty minutes for any template that makes its demo publicly accessible.
If a seller does not provide a public demo URL, that is already a red flag. Treat it as a failed inspection on checks 1, 2, and 3.
CHECK 1 - Run the Demo on PageSpeed Insights
What to do: Open pagespeed.web.dev, paste the demo URL, and run the test on mobile.
What to look for:
- Performance: 95 or above
- Accessibility: 100
- Best Practices: 100
- SEO: 100
Why this matters: The Performance score on mobile reflects the real experience of a user on a 4G connection - which is the majority of web traffic globally. Anything below 90 on Performance means the template has structural issues that will require remediation before delivery. Below 80 means the architecture is fundamentally wrong.
What most templates score: Independent testing of templates from major marketplaces shows average Lighthouse Performance scores of 62 to 74 on mobile. Several templates marketed as "high performance" score below 60 on mobile when tested on real deployment infrastructure.
Pass threshold: 95+ on Performance. 100 on Accessibility, Best Practices, and SEO.
Red flags:
- No demo URL provided
- Demo hosted on a localhost or non-production URL
- Demo that only works on desktop (seller avoided mobile test)
- Performance score below 90 with no acknowledged remediation guide
CHECK 2 - Inspect the Core Web Vitals
What to do: In the PageSpeed Insights report, scroll down to "Core Web Vitals Assessment" and look at the three metrics that Google uses as ranking signals.
What to look for:
- LCP (Largest Contentful Paint): under 2.5s, ideally under 1.2s
- INP (Interaction to Next Paint): under 200ms
- CLS (Cumulative Layout Shift): under 0.1
Why this matters: Core Web Vitals are Google's confirmed ranking signals. A template that fails Core Web Vitals is a template that will underperform in search from its first day of deployment. No amount of content quality or link building fully compensates for a site that Google has flagged as a poor user experience.
What most templates score: CLS failures are particularly common in templates that use tags without explicit width and height attributes - images that shift the layout as they load. LCP failures occur frequently in templates with large hero images that are not preloaded.
Pass threshold: Green on all three Core Web Vitals.
Red flags:
- Yellow or red on any Core Web Vital metric
- LCP above 2.5 seconds on mobile
- CLS above 0.1 (indicates layout shift from unspecified image dimensions or web fonts)
CHECK 3 - Verify the Next.js Architecture
What to do: Look at the repository structure. If access is not available, check the documentation for mentions of App Router, Pages Router, or the Next.js version.
What to look for:
/appdirectory withpage.tsxfiles = App Router (correct)/pagesdirectory withindex.tsxfiles = Pages Router (legacy)
Why this matters: Next.js introduced the App Router as stable in version 13.4 (May 2023). The App Router uses React Server Components by default, which dramatically reduces the JavaScript sent to the browser and improves performance. The Pages Router is the legacy architecture - functional but not receiving new features and not the foundation to build new projects on in 2026.
A template built on the Pages Router is not a 2026 template regardless of when it was published. It is a template built on a deprecated architecture with a future migration cost built in.
What most templates use: A significant portion of Next.js templates on major marketplaces use the Pages Router. Some are labeled as "Next.js 14" while using the Pages Router - which is technically possible (Pages Router still exists in Next.js 14) but architecturally wrong for new projects.
Pass threshold: App Router only. No /pages directory in the project root.
Red flags:
- Pages Router architecture
- Hybrid architecture (both /app and /pages) without clear documentation of why
- getServerSideProps or getStaticProps patterns in the documentation (Pages Router API)
- No mention of App Router or Server Components anywhere in the documentation
CHECK 4 - Check for Structured Data
This is the check most templates fail. It is also the check most buyers never perform.
What to do: Open the demo URL in your browser. Right-click, select "View Page Source." Press Ctrl+F and search for @context.
What to look for:
"@context": "https://schema.org"in atag- Organization or WebSite schema on the homepage
- FAQPage schema on any FAQ sections
- Page-specific schema (Product, Service, Person, etc.) on relevant pages
Why this matters: Schema.org structured data is the primary signal that tells both search engines and AI models what your site is about, who it represents, and what questions it answers. FAQPage schema makes your FAQ items eligible for Google rich results. Organization schema helps AI models identify your business as a named entity.
Without structured data, your site is visible in search as a set of documents. With structured data, it is visible as an entity - a business with a name, a location, products, and expertise. This distinction matters increasingly as AI-powered search (ChatGPT, Perplexity, Gemini) replaces traditional search for a growing share of queries.
What most templates include: Most free templates include no structured data at all. Most paid marketplace templates include no structured data. This is not a minor omission - it is the absence of the entire layer that connects your site to the knowledge graph.
Pass threshold: Organization or WebSite JSON-LD on the homepage. FAQPage schema on any FAQ section. Page-specific schema appropriate to the template's purpose.
Red flags:
- Zero results for
@contextin page source - Only Open Graph meta tags (these are not structured data)
- Structured data mentioned in marketing copy but absent from the demo
CHECK 5 - Run an npm Audit on the Dependencies
What to do: Clone the repository or download the template. Run npm install followed by npm audit in the terminal.
What to look for:
- Zero critical vulnerabilities
- Zero high vulnerabilities
- Low or moderate vulnerabilities that are in development dependencies only
Why this matters: Template repositories accumulate security vulnerabilities in their dependency trees over time. A template with twenty unaddressed critical vulnerabilities is a template whose author has not touched it since it was published. This is a signal about maintenance quality that extends beyond security to everything else in the codebase.
Security vulnerabilities in production dependencies (not development dependencies) can affect your deployed application. High and critical vulnerabilities should be resolved before delivering to a client.
What most templates show: Older free templates routinely show fifteen to thirty vulnerability warnings on npm audit. Unmaintained paid templates show similar numbers. Well-maintained templates show zero or near-zero.
Pass threshold: Zero critical vulnerabilities. Zero high vulnerabilities in production dependencies.
Red flags:
- Multiple critical vulnerabilities
- High vulnerabilities in packages like
next,react, ortypescriptthemselves - Last repository commit more than twelve months ago combined with any vulnerabilities
CHECK 6 - Verify TypeScript Coverage
What to do: Open two or three component files in the repository. Look at how props are typed.
What to look for:
- Specific interface definitions for all component props
- No
anytype usage - No
// @ts-ignorecomments strict: truein tsconfig.json
Why this matters: TypeScript in a codebase is only as valuable as its coverage and strictness. A component typed as props: any provides zero type safety. A codebase full of @ts-ignore comments is a codebase where the developer silenced TypeScript errors instead of resolving them.
For agencies delivering to client development teams, TypeScript coverage determines how maintainable the code is for the next developer. A strictly-typed codebase is self-documenting - the types explain what every function expects and returns. A nominally-typed codebase is opaque - developers must read implementation code to understand what each function does.
What most templates show: TypeScript files with any types scattered throughout. tsconfig.json without strict: true. API routes with untyped request bodies.
Pass threshold: strict: true in tsconfig.json. No any casts in component files. Prop interfaces defined for all components.
Red flags:
anyused as a prop type on more than one component@ts-ignorecomments anywhere in the codebasestrict: falseor missing strict flag in tsconfig.json.jsxfiles instead of.tsx
CHECK 7 - Inspect the robots.txt and sitemap
What to do: Open [demo-url]/robots.txt and [demo-url]/sitemap.xml in your browser.
What to look for in robots.txt:
User-agent: *withAllow: /for general crawlers- Specific entries for AI crawlers:
GPTBot,PerplexityBot,ClaudeBot,Google-Extended - No blanket
Disallow: /that blocks crawling - Sitemap URL listed at the bottom
What to look for in sitemap.xml:
- All template pages included
- Dynamic URLs included (not just the homepage)
lastmoddates present- Correct
priorityvalues
Why this matters: Robots.txt controls which crawlers can access your site. A template with Disallow: / blocks everything including Google - which explains why many sites built on such templates never rank. For 2026, AI crawler configuration matters almost as much as Google configuration: sites that block GPTBot and PerplexityBot are invisible to the AI models that an increasing share of your potential customers use for recommendations.
What most templates include: A minimal robots.txt that allows Googlebot but does not configure AI crawlers. No dynamic sitemap. Static sitemap.xml files that become outdated as content is added.
Pass threshold: AI crawlers explicitly allowed. Dynamic sitemap that updates automatically. Sitemap URL in robots.txt.
Red flags:
Disallow: /blocking all crawlers- No sitemap.xml at all
- Sitemap that only lists the homepage
- No robots.txt file (defaults to allowing everything, but signals no infrastructure consideration)
CHECK 8 - Test the CSS Bundle Size
What to do: Open Chrome DevTools on the demo URL. Go to the Network tab, filter by CSS, and look at the size of the main stylesheet.
What to look for:
- Main CSS file: under 15kb (gzipped)
- Total CSS: under 30kb (gzipped)
Why this matters: CSS bundle size is a direct contributor to Time to First Byte and First Contentful Paint. Bootstrap ships approximately 180kb of CSS. A template using Bootstrap includes this entire stylesheet even if the project only uses 20% of Bootstrap's utilities. Tailwind CSS with proper content configuration purges unused styles and ships only what the project uses - typically 8 to 12kb in production.
This is not an optimization preference. It is an architectural decision with a measurable performance impact that cannot be addressed without changing the CSS framework.
What most templates ship: Templates built on Bootstrap, Bulma, or similar CSS frameworks ship 150 to 220kb of CSS. Some templates include multiple stylesheets from different frameworks that compound this problem.
Pass threshold: Under 15kb for the main CSS bundle.
Red flags:
- CSS bundle above 50kb gzipped
- Multiple stylesheet requests (Bootstrap + custom CSS + plugin CSS)
- Bootstrap, Bulma, or Foundation as the CSS framework
CHECK 9 - Verify the Metadata Architecture
What to do: View the page source of the demo homepage and any secondary page (about, blog post, product). Compare the title and meta description between pages.
What to look for:
- Unique title on every page
- Unique meta description on every page
- Canonical tag on every page
- Open Graph tags with page-specific content
- Twitter card meta tags
Also look for Next.js's generateMetadata function in the documentation or repository - this is the App Router's way of generating dynamic metadata and its presence indicates correct metadata architecture.
Why this matters: A template where every page has the same title and description is a template that Google will treat as duplicate content. Canonical tags prevent search engines from indexing multiple versions of the same page (www vs non-www, trailing slash vs no trailing slash). Missing Open Graph tags mean shared links appear without images or formatted descriptions.
What most templates do: Static meta tags in a single layout file that apply to every page. No canonical tags. Open Graph images that point to a placeholder that never gets updated.
Pass threshold: generateMetadata() function present. Unique title and description structure on secondary pages. Canonical tag present. Open Graph tags present with page-specific content.
Red flags:
- Same title on homepage and blog post page
- No canonical tag
- Open Graph
og:imagepointing to a localhost URL or placeholder
CHECK 10 - Read the License Before Assuming
What to do: Find the LICENSE file in the repository or the license documentation on the seller's page. Read it completely.
What to look for:
- Explicit permission for commercial use
- Explicit permission for client project delivery
- Clarity on whether the client can modify and maintain the code after delivery
- No restriction on the number of projects the template can be used for
- No requirement to attribute the original template author in the delivered project
Why this matters: Licensing mistakes can have serious commercial consequences. A template with a non-commercial license used for a client project creates legal exposure for the agency. A template with a single-project license used for multiple clients creates additional exposure.
The most common licensing mistake: using a template marked as "regular license" from a marketplace for multiple client projects. Many marketplace regular licenses restrict use to a single end product. Multi-use commercial licenses require a separate, usually more expensive purchase.
What most sellers provide: Marketplace templates often have genuinely confusing license terms that require reading the marketplace's own license FAQ to understand. Independent studio licenses tend to be more clearly written.
Pass threshold: Explicit commercial use permission. Explicit client delivery permission. Clear statement on number of projects. No attribution requirement in delivered work.
Red flags:
- "Personal use only" license
- No license file anywhere in the repository
- License terms that require contacting the seller for commercial use
- Marketplace "regular license" being used for what is technically an extended license situation
CHECK 11 - Assess the Documentation Quality
What to do: Read the documentation before reading the marketing copy. Look for answers to these specific questions in the documentation:
- How do I change the brand colors?
- How do I add a new page?
- How do I connect a CMS?
- What environment variables are required and what do they do?
- How do I deploy to Vercel?
- How do I maintain the Lighthouse score after customization?
Why this matters: Documentation quality is the single strongest predictor of how a template will perform over its lifetime. A template with excellent marketing copy and poor documentation was built to be sold, not maintained. A template with modest marketing and thorough documentation was built to be used.
Every question you have to answer by reading source code instead of documentation is a question that costs developer time. Multiply this across a team and across the life of a project and poor documentation becomes one of the most expensive properties a template can have.
What most templates provide: README covering installation and technology stack. No component documentation. No customization guide. No deployment guide. No answers to the specific questions above.
Pass threshold: Specific answers to all six questions above findable in the documentation without reading source code.
Red flags:
- Documentation that only covers installation
- No
.env.examplefile explaining each variable - No component API reference
- Documentation that links to the framework's own docs for everything
CHECK 12 - Verify What Happens After You Buy
What to do: Look for answers to these questions before purchasing:
- What is the refund policy and what conditions apply?
- How are updates delivered and how will you be notified?
- What support is included and for how long?
- Is the purchase tied to a subscription or a one-time payment?
Why this matters: A template purchase is not just a file download. It is an ongoing relationship with the seller's update and support infrastructure. A seller who disappears after the sale is a seller whose template is effectively frozen at the version you downloaded. A seller with a clear refund policy and active update history is one whose product will continue to improve.
The subscription question is particularly important for agencies: templates from platforms that use subscription-based licensing have a license that expires when the subscription is canceled. Code built on an expired license is a legal exposure. One-time purchases with perpetual licenses do not have this problem.
What most sellers offer: Marketplace templates often have support periods of six months to a year after which support is charged additionally. Some include no support at all. Independent studio templates vary widely.
Pass threshold: Clear one-time purchase with perpetual license. Documented refund policy. Update notification system. Defined support scope.
Red flags:
- Subscription-based licensing (license expires with subscription)
- No refund policy stated
- No update history or changelog
- Support only available through a slow marketplace ticket system
The Scoring Sheet
Copy this table and score any template you are evaluating:
| Check | Pass / Fail | Notes |
|---|---|---|
| 1. PageSpeed Insights (95+ Performance) | | |
| 2. Core Web Vitals (all green) | | |
| 3. App Router architecture | | |
| 4. Structured data present | | |
| 5. npm audit (0 critical) | | |
| 6. TypeScript strict mode | | |
| 7. robots.txt + sitemap | | |
| 8. CSS bundle under 15kb | | |
| 9. Dynamic metadata architecture | | |
| 10. Commercial license verified | | |
| 11. Documentation complete | | |
| 12. Post-purchase clarity | | |
| Total | /12 | |
Scoring guide:
- 12/12: Production-ready. Buy it.
- 10-11/12: Minor gaps. Assess what is missing and budget accordingly.
- 8-9/12: Significant remediation required. Calculate hours before committing.
- Below 8/12: Move on. The real cost will exceed the time saved.
Why Most Templates Fail Checks 4, 7, and 11
These three checks - structured data, robots.txt configuration, and documentation - fail more often than any other because they require work that does not affect the demo screenshot.
A template without structured data looks identical to a template with structured data on the surface. The difference only appears in search performance and AI visibility, weeks or months after deployment. A template without a correct robots.txt configuration looks identical until a client asks why their site is not ranking. A template without documentation looks identical until a new developer joins the project.
Template authors working quickly to publish and sell have no incentive to invest in things that are invisible in screenshots. This creates a systematic gap between what templates look like and what they perform like - and it consistently concentrates in exactly the checks buyers are least likely to perform.
Performing these twelve checks eliminates the systematic gap. You are no longer evaluating templates on the criteria that sellers optimize for. You are evaluating them on the criteria that determine whether the project succeeds.
One More Test That Is Not on the List
After completing all twelve checks, ask the seller one question: what Lighthouse score does this template achieve on a real deployment?
If the answer is "it depends on your content," that is a non-answer. Any template with a 95+ Lighthouse score achieves that score on its demo with real content. If the seller cannot point you to a publicly accessible demo that you can test yourself on PageSpeed Insights, the score they claim is a claim, not a specification.
Templates worth buying are tested before they are sold. Scores worth claiming are verifiable before purchase. The demand for a testable live demo is not a high bar. It is the minimum bar. Every template that clears it is a template where the seller believes enough in their work to let a buyer test it before committing.
That belief - or its absence - tells you more about a template than any screenshot.
FAQ
How long does it take to run this checklist on a template?
Approximately fifteen to twenty minutes per template if the demo is publicly accessible. Checks 1 and 2 take five minutes on PageSpeed Insights. Check 4 takes two minutes in page source. Checks 5 and 6 require repository access and take five to ten minutes. The remaining checks take one to two minutes each once you know what to look for.
Should I run this checklist on free templates too?
Yes. Free templates have the same production requirements as paid templates if the project they are used for will be deployed publicly. The checklist criteria do not change based on price. What changes is the expectation of the result - free templates fail more checks on average, and the decision to use them anyway requires explicitly budgeting the remediation time.
What if a template passes 11 of 12 checks?
Assess which check failed. A failure on Check 10 (license) may be a dealbreaker regardless of everything else. A failure on Check 8 (CSS bundle size) at 18kb instead of 15kb is a minor issue. A failure on Check 4 (structured data) means building the SEO architecture yourself - budget 17 to 29 hours.
Is it worth buying a template that fails Check 3 (App Router) if the price is very low?
Not for any project that will be maintained or extended. The Pages Router works today. It is not receiving new features. Migrating from Pages Router to App Router is a non-trivial project. The low price of a Pages Router template is not a discount - it is the cost of a future migration baked in.
Does passing all 12 checks guarantee a good template?
It guarantees that the template meets production technical standards. Design quality, component completeness, and category-specific features (e-commerce functionality, auth architecture, CMS integration) are separate evaluations. This checklist eliminates templates that will fail in production. It does not guarantee that a template is the best choice for your specific project.
Why do templates fail these checks if they are sold as production-ready?
"Production-ready" in template marketing typically means "the demo works." It does not mean the template meets the technical standards that a production deployment actually requires. The term is used loosely. This checklist provides a precise definition of what production-ready means technically.
Can I send this checklist to a client to explain why a template costs more than they expected?
Yes. The checklist provides a concrete framework for explaining that template quality varies significantly and that cheap or free templates have hidden costs. Showing a client a failed checklist result is more convincing than explaining that the template is "low quality" - it quantifies what low quality means in specific, testable criteria.
*Published by Deloryen Studio - infrastructure engineered for performance, conversion, and AI visibility.*
*Word count: ~4,800 | Primary keyword density: ~0.9% | Last updated: March 2026*
Deloryen Studio
INFRASTRUCTURE ENGINEERED FOR PERFORMANCE, CONVERSION & AI VISIBILITY
Ready to ship with production-grade Next.js infrastructure?
Browse premium Next.js templates with built-in SEO, GEO, and conversion architecture.
BROWSE NEXT.JS AGENCY TEMPLATES