# websitedevelopment.biz — full text > The complete text of every guide in this language, so an answer engine can read the catalogue in one request. Nothing here is absent from the visible pages. ## When to Redesign Your Website (and When Not To) https://websitedevelopment.biz/guides/when-to-redesign-your-website Updated 2026-08-07 · Maintenance Redesigns are frequently launched for the wrong reason — the site looks dated to the people who see it every day — and they carry real risk: a full rebuild resets accumulated search signals, discards conversion knowledge, and often replaces a known problem with an unknown one. This guide covers what genuinely justifies a redesign, what does not, and the incremental route that produces better results on most sites. ### Reasons that justify a redesign These are structural problems that cannot be fixed by changing pages, which is what makes them redesign reasons rather than improvement reasons. - The platform is end of life or no longer receives security updates. - The site is not responsive and cannot be made so without a rebuild. - The structure no longer matches the business — you sell something the information architecture cannot express. - Editing is impossible without a developer, so content is stale by default. - Performance is structurally poor because of how it was built, not because of a few large images. - Accessibility failures are in the components themselves and cannot be patched. - A merger or rebrand changes the name, not only the colours. Notice what is not on this list: "it looks dated". That is usually a styling project, and styling projects are a fraction of the cost and carry almost none of the risk. ### Reasons that do not Each of these has a cheaper, lower-risk fix that addresses the actual problem. | "It looks dated" | Visual style | Restyle: typography, colour, spacing | | "Traffic is falling" | Content or technical issue | Diagnose first — a redesign usually makes it worse | | "Conversions are low" | Specific pages or a form | Test changes to those pages | | "A competitor relaunched" | Nothing measurable | Not a reason | | "New marketing director" | Ownership, not the website | Review the data together first | | "It is three years old" | Age is not a defect | Fix what is measurably wrong | ### Why full redesigns often lose traffic A full redesign changes structure, content, URLs and templates simultaneously. If performance drops, you cannot tell which change caused it — and if it improves, you cannot tell either. - URL changes lose accumulated signals unless every redirect is mapped correctly. - Content rewritten "to be more concise" frequently removes the exact text that was ranking. - New templates can drop internal links, structured data or metadata that the old ones had. - Design changes can reduce conversion in ways that only show up weeks later. - Everything changes at once, so attribution afterwards is guesswork. If a redesign is genuinely necessary, keep the URL structure and the ranking content wherever you can. Change the appearance and the code, not the addresses. ### The incremental alternative For most sites, a series of targeted changes outperforms a rebuild — it is cheaper, it is measurable, and each step can be reversed. - Measure first: analytics, Core Web Vitals, Search Console, and a handful of user sessions. - Fix performance and accessibility on the existing templates. These usually pay for themselves. - Rewrite the pages that get traffic but do not convert, one at a time. - Restyle: typography, colour, spacing. This addresses "looks dated" for a fraction of the cost. - Replace individual templates one by one, keeping their URLs. - Improve the editing experience so content stops going stale. - Re-measure after each step, so you know which change did what. Q: How often should a website be redesigned? A: There is no correct interval. A well-maintained site that is improved incrementally can run for many years without a rebuild. The trigger should be a structural problem you cannot fix within the current build, not a date on a calendar. Sites redesigned every three years by policy usually lose ground each time. Q: Will a redesign improve my SEO? A: Not by itself, and it can easily hurt. What helps is what a redesign sometimes includes: faster pages, better structure, better content. Those improvements can be made without a redesign, with less risk. If search performance is the goal, diagnose the actual cause before committing to a rebuild. Q: Should I keep my URLs in a redesign? A: Wherever you possibly can. Keeping URLs removes the single largest risk in a relaunch. If they must change — a genuinely broken structure, or a domain change — map every old URL to a specific new one with a 301 and keep those redirects indefinitely. Q: How long does a redesign take? A: Similar to a new build, and often longer because of migration: two to five months for a mid-sized site. It is rarely cheaper than starting fresh once content migration, URL mapping and matching existing behaviour are counted, which surprises most people who expect a discount for having a site already. ## Website Monitoring: Knowing Before Your Customers Do https://websitedevelopment.biz/guides/website-uptime-monitoring Updated 2026-08-07 · Maintenance Uptime monitoring answers one question: does the homepage respond? Most real failures are quieter than that. The site is up and the contact form has been failing for three weeks, or checkout works for everyone except customers using one payment method. This guide covers what to monitor, how to set thresholds that mean something, and how to keep alerts credible. ### Beyond "is it up" The failures that cost money are usually partial. Monitor the outcomes you care about, not only the server responding. | HTTP uptime | Server down, DNS failure | Every 1–5 minutes | | Transaction check | Broken form, broken checkout | Every 15–60 minutes | | Error rate | Exceptions rising after a deploy | Continuous | | Certificate expiry | The classic Sunday-morning outage | Daily, alert 30 days out | | Domain expiry | The worst possible outage | Daily, alert 60 days out | | Core Web Vitals | Slow degradation nobody notices | Weekly | | Search Console coverage | Pages dropping out of the index | Weekly | | Disk and database size | Silent growth into a hard limit | Daily | | Backup success | Backups that stopped running months ago | Daily | A synthetic transaction that submits a real form to a test address is the single highest-value monitor for most business sites. Broken forms are invisible and expensive. ### Setting thresholds that mean something A monitor that alerts on every blip trains people to ignore it, and then it does not work when it matters. Thresholds should reflect what would actually make you act. - Require two or three consecutive failures before alerting, from more than one location. - Alert on error rate rather than on individual errors — a single 500 is noise, a rate change is a signal. - Set performance alerts on a trend over days, not on one slow measurement. - Separate severities: site down goes to a phone; a slow page goes to a weekly summary. - Route alerts to a person, not to a shared inbox nobody owns. - Review every alert that fired: if it required no action, either change the threshold or delete the monitor. ### What to do when an alert fires Having a written order of operations turns an incident from improvisation into a procedure, which matters most when the person on call is not the person who built the site. - Confirm it is real: load the site yourself from a different network. - Check the obvious first — did anything deploy, did a certificate expire, is the host reporting an incident? - Post a status update if customers are affected. Silence is worse than bad news. - Restore service before diagnosing. Roll back the deploy, then investigate at leisure. - Write down what happened, why, and what would have caught it earlier. - Add the monitor that would have caught it. That is how the list above grows correctly. The most useful output of an incident is one new monitor and one fewer way for it to happen silently. ### Sensible defaults for a small site You do not need an observability platform. For most business websites this set is enough and takes an afternoon to configure. - Uptime check on the homepage and on one deep page, every five minutes, from two locations. - A synthetic form submission daily, to an address a human reads. - Certificate and domain expiry alerts, well in advance. - Server error alerting from the application, with a rate threshold. - A weekly email with Core Web Vitals and Search Console coverage. - A daily confirmation that the backup ran and its size looks normal. Q: How often should I check uptime? A: Every one to five minutes is standard, from at least two geographic locations so a network problem at one monitoring node does not page you at 3am. More frequent checks rarely change the outcome, because the time to notice is small compared with the time to fix. Q: What uptime should I expect? A: Decent shared hosting delivers around 99.9%, which is roughly nine hours of downtime a year. Managed platforms and good cloud setups reach 99.95% or better. What matters more than the number is whether the downtime is scattered minutes or a single long outage during business hours. Q: Are free monitoring tools sufficient? A: For uptime on a small site, generally yes — the free tiers cover a handful of checks at five-minute intervals. What free tiers usually lack is synthetic transactions and multi-step checks, which is exactly where the valuable monitoring is. Budget a small amount for those specifically. Q: How do I avoid alert fatigue? A: Delete monitors that have never required action, require multiple consecutive failures before alerting, and separate urgent from informational routing. Then review fired alerts monthly. An alert channel people mute is worse than no alerting, because it creates the belief that someone is watching. ## Website Backup Strategy: What to Back Up and How Often https://websitedevelopment.biz/guides/website-backup-strategy Updated 2026-08-07 · Maintenance Most sites have backups. Fewer have backups that have been restored. The gap between the two is discovered at the worst possible moment, usually alongside the discovery that the backup was missing the database, or the uploads, or the last three weeks. This guide covers what to back up, how often, where to keep it, and how to verify that a restore actually works. ### What a complete backup contains A site is not one thing. Missing any of these makes a restore partial, and a partial restore is often worse than none because it looks like it worked. - Database — content, users, orders, settings. The part that changes constantly. - Uploaded files — images, documents, anything users or editors added. - Application code — ideally in version control, which is a form of backup with history. - Configuration — environment variables, server config, cron jobs, redirect rules. - Certificates and DNS records — cheap to export, painful to reconstruct under pressure. - Third-party settings — payment webhook URLs, email configuration, API keys. Configuration is the part most often missed. A restored database and file set on a server configured differently is not the same site. ### How often, and how long to keep Frequency follows from one question: how much work can you afford to lose? Retention follows from another: how long before you would notice a problem? | Static brochure site | Weekly | Weekly | 30 days | | Business site with a blog | Daily | Daily | 30–60 days | | Busy content site | Daily, or hourly | Daily | 60–90 days | | Online store | Hourly or continuous | Daily | 90+ days, and keep monthly archives | | Web application | Continuous with point-in-time recovery | Daily | Per your data policy | Retention matters because slow-moving problems exist. A corrupted import or a quiet compromise may not be noticed for weeks, by which time a 7-day rotation contains only bad copies. ### Where to store them The classic rule still holds: three copies, on two kinds of media, with one off-site. Adapted for websites, it means the backup must survive both the server failing and the server being compromised. - Never store the only copy on the same server as the site. - Use a different provider for at least one copy, so a provider-level failure does not take both. - Make at least one copy immutable or write-once, so credentials that run the site cannot delete it. - Encrypt backups at rest — they contain everything, including personal data. - Keep a monthly archive outside the rotation for slow-discovery problems. - Document where they are and how to restore, somewhere that is not only on the site. ### Testing: the step that makes it real A backup you have never restored is an assumption. Testing takes an hour and converts it into a fact. - Restore to a separate staging environment, not over the live site. - Check the database restored completely — count rows in the tables that matter. - Check uploaded files are present, including recent ones. - Log in and perform a real task: publish a page, place a test order. - Time it. "How long would a restore take?" is a question you want answered in advance. - Write down the procedure so it is not held only by the person who set it up. - Repeat monthly, and after any change to the hosting setup. Time the restore. Knowing it takes four hours changes what you promise stakeholders during an outage, and it is the number nobody has when they need it. Q: Is my host’s backup enough? A: It is a good baseline and a poor sole strategy. Host backups typically have short retention, are stored on the same infrastructure, and are lost along with the account if there is a billing dispute or a provider failure. Keep your own copy somewhere else — the cost is small and it is the copy you will need in the scenario where host backups do not help. Q: How long should I keep backups? A: Long enough to cover a slow-discovery problem. Thirty days is a reasonable minimum, ninety is safer for a store, and a monthly archive kept for a year costs almost nothing. Balance that against data protection obligations — backups containing personal data are subject to retention rules too. Q: Do I need backups if my code is in version control? A: Yes. Version control covers code and its history, and it does not contain the database, the uploaded files or the server configuration. Those are where the content and the customer data live, which is the part that cannot be recreated by re-running a deployment. Q: What is point-in-time recovery? A: The ability to restore the database to any moment, rather than to the last scheduled snapshot — achieved by continuously archiving the transaction log. It matters when losing even an hour of orders is unacceptable. For a brochure site it is unnecessary; for a store taking orders through the night it is worth the extra setup. ## Website Security: The Practices That Prevent Most Incidents https://websitedevelopment.biz/guides/website-security-best-practices Updated 2026-08-07 · Maintenance Most website compromises are not targeted. They are automated scanners finding a known vulnerability in outdated software, or a reused password on an admin account. Defending against the ordinary attacks covers the large majority of real risk. This guide covers the practices that prevent most incidents, in rough order of effect, and what to do if a site is already compromised. ### The measures that prevent most incidents In order of how much risk they remove per unit of effort. - Keep software current. The overwhelming majority of compromises exploit a vulnerability with an available patch. This single item outweighs everything below it. - Unique strong passwords plus two-factor authentication on every admin account, hosting panel, domain registrar and email account. - Least privilege. Editors do not need administrator accounts. Remove accounts when people leave. - HTTPS everywhere, with HSTS once you are confident every subresource is available over TLS. - Tested backups, stored off the server. A backup on the compromised machine is encrypted along with everything else. - Restrict the admin area by IP where practical, and always rate-limit login attempts. - Remove what you do not use. Every inactive plugin, theme and old install is attack surface with no benefit. Old, forgotten installs — a staging copy at /old, a test blog in a subfolder — are a common entry point precisely because nobody is updating them. ### Input, output and the classic vulnerabilities These are developer responsibilities and they account for most of the vulnerabilities that are not "you did not update". | SQL injection | Reads or destroys your database | Parameterised queries, always — never string concatenation | | Cross-site scripting | Runs attacker script in a visitor’s session | Escape on output, contextually; a strict Content-Security-Policy | | Cross-site request forgery | Performs actions as a logged-in user | Per-session tokens on every state-changing request | | File upload abuse | Uploads and executes code | Validate type by content, store outside the web root, never execute | | Broken access control | Users reach data that is not theirs | Check authorisation server-side on every request, not in the UI | | Sensitive data exposure | Leaks keys and credentials | Environment variables, never in the repository | | Server-side request forgery | Makes your server call internal systems | Allow-list outbound destinations | ### Configuration and headers Cheap measures that close whole categories of problem, most of which take minutes to apply. - Serve security headers: Content-Security-Policy, X-Content-Type-Options, Referrer-Policy, X-Frame-Options. - Disable directory listing; make sure /.git, /.env and backup files are not reachable over HTTP. - Turn off verbose error output in production — stack traces are reconnaissance. - Block access to admin and configuration paths from the public internet where you can. - Set cookies with HttpOnly, Secure and an appropriate SameSite value. - Keep dependencies audited; a vulnerable library in your build is your vulnerability. - Log authentication events and alert on unusual patterns. ### If the site is already compromised Order matters here. Cleaning files before rotating credentials means the attacker simply returns through the same door. - Take the site offline or into maintenance mode. Do not leave it serving malware to visitors. - Preserve evidence: copy the logs and a snapshot of the files before changing anything. - Rotate every credential — hosting, database, admin users, API keys, email. Assume all are known. - Restore from a backup taken before the compromise, if you can identify one reliably. - If you cannot, rebuild from source and re-import only data, never files of unknown origin. - Patch the vulnerability that let them in. Without this step you will repeat the whole process. - Scan for persistence: scheduled tasks, extra admin users, modified core files, injected content. - Request a review in Search Console if the site was flagged, and check for injected spam pages. - Notify affected users if personal data was exposed — in many jurisdictions within a legal deadline. Restoring a backup without patching the entry point is the most common reason sites are compromised twice in a fortnight. Q: Is a security plugin enough? A: It helps with a few things — login rate limiting, file change monitoring, a basic firewall — and it is not a substitute for updates, strong credentials and least privilege. A site with a security plugin and eighteen months of missed updates is not secure. Fix the fundamentals first, then add tooling. Q: Do small websites really get attacked? A: Constantly, and not because of who you are. Automated scanners test every reachable host for known vulnerabilities; small sites are attractive precisely because they are less likely to be patched. Compromised small sites are used for spam, phishing pages and redirects, which is why the traffic level of your site is irrelevant to the risk. Q: Where should backups be stored? A: Somewhere the web server cannot write to, ideally with a different provider, with at least one copy that cannot be deleted by the same credentials that run the site. Ransomware and destructive attacks specifically target backups reachable from the compromised machine, and that is exactly the moment you need them. Q: What is the single highest-value security measure? A: Applying updates promptly. It is unglamorous and it prevents more real compromises than everything else combined, because the attacks that actually happen are automated exploitation of known, patched vulnerabilities. Second is two-factor authentication on admin and hosting accounts. ## Website Maintenance: What It Actually Involves https://websitedevelopment.biz/guides/website-maintenance-guide Updated 2026-08-07 · Maintenance Website maintenance is the work that keeps a site secure, current and working after launch. It is invisible when it is done and extremely visible when it is not — usually as an outage, a compromise or a form that has been silently failing for a month. This guide covers what maintenance actually includes, what it costs, what a retainer should specify, and how to verify you are receiving it. ### What the work is Maintenance splits into routine work on a schedule and responsive work when something happens. A retainer that only covers the second is not maintenance, it is support. | Security patches | As released, within days | Known vulnerabilities are exploited automatically | | Platform and plugin updates | Monthly, tested on staging | Falling behind makes upgrading harder every month | | Backup verification | Monthly restore test | An untested backup is not a backup | | Uptime monitoring | Continuous | You should not learn about downtime from a customer | | Error log review | Weekly | Silent failures — broken forms, failed payments | | Performance check | Monthly | Page weight rises quietly as content is added | | Broken link check | Quarterly | External links rot at a steady rate | | Content review | Quarterly | Stale prices and dead phone numbers cost more than bugs | | Dependency audit | Quarterly | Abandoned libraries need replacing before they break | ### What it costs A useful planning figure is 10–20% of the build cost per year for a CMS-based site, more for a store or an application. Below that you are usually buying availability rather than actual work. | Small brochure site | $50 – $200 | Updates, backups, uptime monitoring, minor edits | | Mid-size business site | $200 – $800 | The above plus staging tests, performance and error review | | Online store | $500 – $3,000 | The above plus payment and stock monitoring, faster response | | Web application | $1,500+ | The above plus release management and on-call | A cheap retainer with no report is difficult to distinguish from no retainer at all. The report is what you are actually buying. ### What a retainer should specify Vague retainers cause disputes at exactly the wrong moment. These points should be written down before you sign. - Exactly which routine tasks are performed and how often. - Response time targets, split by severity: site down, feature broken, cosmetic. - Cover hours, and what happens outside them. - How many hours of changes are included, and whether unused hours roll over. - What counts as a change versus a new project, with examples. - Who has access to what, and how that is revoked when the arrangement ends. - What you receive monthly: an actual report, not an invoice. - Notice period and what happens to your data and access at the end. ### Doing it yourself For a small site this is entirely reasonable, provided it is scheduled rather than intended. Put it in a calendar with a named owner, because maintenance done "when we remember" is not done. - Weekly: check the site loads, submit the contact form, glance at error logs. - Monthly: apply updates on staging first, then production. Verify a backup restores. - Monthly: check Search Console for new coverage errors and manual actions. - Quarterly: run a link checker, a performance test and an accessibility scan. - Quarterly: review content for prices, dates, staff names and dead links. - Annually: review domain and certificate renewals, and audit who still has access. Set calendar reminders with a named person, not a team. Shared responsibility for a recurring chore reliably becomes nobody’s responsibility. Q: What happens if I skip maintenance? A: For a while, nothing visible — which is why it gets skipped. Then one of three things happens: a known vulnerability is exploited by an automated scanner, an update becomes impossible because you are several major versions behind, or something has been broken for weeks and nobody noticed. All three cost more than the maintenance would have. Q: Can I use my hosting provider’s maintenance package? A: Managed hosting usually covers the server, and often core platform updates and backups. It rarely covers your plugins, your custom code, your error logs or your content. Read what is included; the gap between "managed hosting" and "site maintenance" is where most incidents happen. Q: How do I know maintenance is being done? A: Ask for a monthly report: what was updated, what was patched, uptime, errors found and fixed, and the date of the last successful backup restore. If a retainer produces no report, you cannot distinguish good maintenance from none — and you usually find out which it was during an incident. Q: Should updates be applied automatically? A: Security patches for the core platform, generally yes — the risk of delay usually exceeds the risk of breakage. Plugin and major version updates should be tested on staging first, because those are the ones that break layouts and custom code. The right split depends on how much the site is worth per hour of downtime. ## eCommerce SEO: The Practices That Actually Matter https://websitedevelopment.biz/guides/ecommerce-seo-best-practices Updated 2026-08-07 · eCommerce Store SEO differs from content SEO in one important way: the site generates URLs by itself. Filters, sorting, variants and pagination can turn a 500-product catalogue into 50,000 indexable pages, and that is where most store SEO problems begin. This guide covers how to structure a store so the right pages rank and the machine-generated ones stay out of the index. ### Categories are your most valuable pages Most commercial search demand is for a category, not a specific product: people search for "waterproof walking boots" far more than for a particular model. Category pages are therefore the pages worth investing in, and they are usually the thinnest. - Give each category real text — a short introduction above the grid and useful detail below it. - Match the category to how people search, not to how your warehouse is organised. - Link related categories to each other; a grid of products with no editorial links is a dead end. - Keep category URLs stable even when the range changes. The URL outlives the products in it. - Show enough products above the fold that the page answers the query immediately. A category page with no text is competing on product titles alone. That is why category pages so often lose to content sites reviewing the same products. ### Faceted navigation: the main source of trouble Filters multiply URLs combinatorially. Left open, they consume crawl budget, dilute signals and fill the index with near-duplicates that are slow to remove. | Base category | Index, self-canonical | | Single high-demand filter (e.g. brand) | Index if there is real search demand and enough products | | Multiple filters combined | noindex, follow | | Sort order | noindex, or do not create a distinct URL at all | | Pagination | Index, each page self-canonical, real crawlable links | | Empty filter result | noindex, and consider returning a 404 | | Tracking parameters | Strip, or canonicalise to the clean URL | ### Product pages: URLs, variants and stock Three decisions here cause most product-page problems, and all three are cheaper to settle before launch. - One URL per product, not one per category path. A product in three categories should not exist at three URLs. - Variants: one indexable product page with variant selection, unless a variant has genuinely distinct demand — colour rarely does, size never does. - Out of stock: keep the page live with availability marked and alternatives shown. Deleting it discards accumulated ranking signals for a product that may return next month. - Discontinued permanently: 301 to the closest equivalent or to the category, not to the homepage. - Unique descriptions. Manufacturer text is on every competitor’s site; it is the definition of duplicate content. - Structured data with price and availability that match the visible page exactly. ### Technical items specific to stores These come up on almost every store and rarely on a brochure site. | Internal search results | noindex — they are infinite and thin | | Basket and checkout | noindex, and block from crawling | | Customer accounts | noindex; never allow indexing of order pages | | Multiple currencies | One canonical URL; do not create a URL per currency | | Multiple markets | Prefix URLs plus reciprocal hreflang | | Reviews | Render in HTML; review markup only for genuine on-page reviews | | Listing performance | Watch it as the catalogue grows — it degrades first | | Sitemaps | Split by type, and keep them current as stock changes | Product feeds for shopping ads are not a substitute for indexable product pages. They are separate systems and one does not rank the other. Q: Should out-of-stock products be removed? A: Not if the item is coming back. Keep the page, mark availability accurately in both the visible page and the structured data, and offer alternatives. Deleting it throws away links and ranking history you paid for. Only 301 it when the product is genuinely discontinued, and then to the nearest equivalent rather than the homepage. Q: How do I handle products in several categories? A: Give each product a single canonical URL that does not include the category path — /products/walking-boot-x rather than /boots/walking/walking-boot-x. Link to it from every relevant category. Category-based product URLs create duplicates and break as soon as you reorganise the catalogue. Q: Do I need unique descriptions for every product? A: For products you want to rank, yes. Manufacturer copy appears on every competitor selling the same item, so there is nothing to distinguish your page. If a full rewrite of 4,000 products is unrealistic, start with the products that actually drive revenue and let the rest rely on category pages. Q: Should filter pages ever be indexed? A: A small number, deliberately chosen: single filters that match real search demand and return a decent number of products, like a brand within a category. Give those pages their own title and description. Everything else — combinations, sorts, price sliders — should be noindex, follow. ## Payment Gateway Integration: What Developers Need to Get Right https://websitedevelopment.biz/guides/payment-gateway-integration-guide Updated 2026-08-07 · eCommerce Payment integration looks simple in a tutorial and is unforgiving in production, because every failure case involves either a customer who paid and got nothing or a customer who got something and did not pay. This guide covers how the flow works, the design decision that prevents most problems, and the cases worth testing deliberately before launch. ### How the flow actually works Whatever the provider, the shape is the same: your server creates an intent to charge, the customer authenticates with the payment provider, and the provider tells you the outcome — twice, by two different routes. - Your server creates a payment intent with an amount, currency and a reference to your order. - The customer enters card details in a hosted field or a hosted page, so the data never touches your server. - Strong authentication may be required, adding a step the customer must complete. - The provider redirects the customer back to your site with a result. - Separately, the provider sends a server-to-server webhook with the authoritative result. - Your system updates the order — from the webhook, not from the redirect. - Fulfilment is triggered only after the payment is confirmed. Steps 4 and 5 are the whole design. The redirect is a hint about what happened; the webhook is the fact. ### Why webhooks must be the source of truth The customer's browser is an unreliable narrator. It can close during the redirect, lose connection, or be manipulated. If your order status depends on the customer arriving back at your success page, you will have paid orders that were never recorded. - Update order state only from verified webhooks; treat the redirect purely as a user-facing message. - Verify webhook signatures. An unauthenticated endpoint that marks orders paid is exactly as bad as it sounds. - Make webhook handling idempotent — providers retry, and duplicates will arrive. - Respond quickly and process asynchronously; slow endpoints get retried and eventually disabled. - Log every webhook payload. Payment disputes are settled with logs. - Handle events out of order, because they can and will arrive that way. ### The failure cases worth testing Each of these happens in production. Test them deliberately, with the provider’s test cards, before launch. | Customer closes the tab after paying | Webhook still completes the order; confirmation email is sent | | Card declined | Clear message, basket preserved, another attempt possible | | Strong authentication failed | Order not confirmed; customer told what to do next | | Duplicate webhook | Order updated once, not twice; no second dispatch | | Webhook arrives before the redirect | Success page reflects the already-completed order | | Partial refund | Order totals and any accounting export stay consistent | | Stock ran out between payment and fulfilment | Defined process: refund, backorder or substitute | | Currency rounding | The charged amount matches the displayed total exactly | ### Scope, compliance and money A few decisions determine how much regulatory burden you take on and how much of the transaction you keep. - Never store card numbers. Use hosted fields or a hosted page so card data never reaches your server; this keeps PCI scope minimal. - Understand the fee structure. Percentage plus fixed fee, plus currency conversion, plus chargeback fees. The headline percentage is not the cost. - Check payout timing. Days to settlement affects cash flow more than a small rate difference. - Confirm the refund path works end to end before launch, including partial refunds. - Support the local methods your market actually uses — cards are not the default everywhere, and missing the dominant local method costs conversions. - Keep a second provider ready if payments are critical. Outages happen and they stop revenue entirely. Q: Should I use a hosted checkout or an embedded form? A: Hosted checkout is simpler, keeps PCI scope smallest, and is maintained by the provider — for most stores it is the right default. Embedded fields keep the customer on your domain and give more control over the experience, at the cost of more code and more responsibility. Both keep card data off your server, which is the part that matters. Q: What happens if my webhook endpoint is down? A: Providers retry with backoff, typically for hours or days, so a short outage recovers by itself. A long outage means orders sitting unconfirmed, so monitor the endpoint and alert on failures. Also build a reconciliation job that compares provider transactions against your orders daily — it catches everything the retries missed. Q: Do I need to handle strong customer authentication? A: If you sell to customers in regions that require it, yes, and modern provider SDKs handle most of the flow. What you must handle is the outcome: an order that is pending authentication is not paid, and treating it as paid means shipping goods you were never paid for. Q: How do I test payments safely? A: Every provider has a test mode with cards that trigger specific outcomes — decline, authentication required, fraud. Run the full list, including the awkward cases in the table above. Then make one small real transaction in production before launch and refund it, because test mode does not exercise your live keys or your live webhook URL. ## WooCommerce vs Shopify vs Magento: A Practical Comparison https://websitedevelopment.biz/guides/woocommerce-vs-shopify-vs-magento Updated 2026-08-07 · eCommerce These three cover most store projects, and they suit genuinely different situations. The choice is less about features — all three can sell products — and more about who maintains the store and what happens when requirements grow. This comparison is by operating model rather than by feature checklist, because that is what determines whether a platform works out. ### Who each one is for Stated plainly, before the detail. | Shopify | Hosted SaaS | Teams who want to sell, not to maintain infrastructure | | WooCommerce | WordPress plugin, self-hosted | Content-led sites with a modest catalogue and WordPress skills | | Magento / Adobe Commerce | Self-hosted enterprise | Complex catalogues, B2B rules, in-house or agency capability | ### Practical differences The comparisons that change the decision, rather than the ones that appear on marketing pages. | Setup effort | Low | Medium | High | | Who patches security | The vendor | You | You | | Checkout customisation | Limited by design | Full | Full | | Catalogue at scale | Good | Degrades without work | Built for it | | B2B pricing rules | Add-on | Plugin, variable quality | Native | | Multi-store / multi-market | Additional cost | Awkward | Native | | Running cost | Subscription plus fees plus apps | Hosting plus plugins plus dev time | Substantial hosting and dev time | | Skills needed | Operator | WordPress developer | Specialist developer | ### Where each one breaks Every platform has a failure mode that appears after launch rather than during evaluation. These are the ones that come up most. - Shopify: checkout rules the platform will not permit, and app subscriptions that eventually exceed the platform fee. Also, transaction fees if you do not use its own payment product. - WooCommerce: listing-page performance as the catalogue grows, plugin conflicts after updates, and security exposure when nobody owns patching. - Magento: total cost of ownership. It is powerful and it needs real infrastructure and real expertise; under-resourced Magento stores are slow and fall behind on updates. - All three: faceted navigation generating thousands of indexable URLs unless it is configured deliberately. The most common expensive mistake is choosing Magento for a catalogue that WooCommerce would handle, or choosing WooCommerce for one that needs Magento. Both errors surface about a year in. ### Exit costs Worth knowing before you commit, because it is the part that decides whether the choice is reversible. | Shopify | CSV export, straightforward | Export without passwords | Export, limited history | Fixed URL prefixes make mapping fiddly | | WooCommerce | Full database access | Full access | Full access | Fully under your control | | Magento | Full database access | Full access | Full access | Fully under your control | Self-hosted platforms are easier to leave because you have the database. That is a genuine advantage of open source and it is rarely weighed at selection time. Q: Which is cheapest? A: For a small store, Shopify is usually cheapest in total once hosting, patching and developer time are counted — the subscription is visible and the alternative costs are not. WooCommerce is cheapest if you already run WordPress and have someone competent maintaining it. Magento is not the cheap option in any scenario. Q: Is WooCommerce good for large catalogues? A: It can handle thousands of products with proper hosting, caching and query work, but it needs that work — performance on listing and filter pages degrades before the product count sounds impressive. If the catalogue is large and complex from day one, it is worth comparing against platforms built for that shape. Q: Do I need Magento for B2B? A: Not necessarily, but B2B requirements — customer-specific pricing, quotes, purchase orders, account hierarchies — are native there and are add-ons elsewhere. If you have several of those requirements, the comparison is fair. If you have one, an add-on on a simpler platform is usually cheaper to own. Q: Can I run content and commerce on the same platform? A: WooCommerce does this naturally because WordPress is a content system first. Shopify’s content tooling is weaker, so content-heavy Shopify stores often pair it with a separate CMS. If your acquisition strategy is content-led, weigh that seriously — it is a bigger practical difference than most feature comparisons suggest. ## eCommerce Platforms Compared: How to Choose https://websitedevelopment.biz/guides/best-ecommerce-platforms-compared Updated 2026-08-07 · eCommerce Platform comparisons date fast because features change every quarter. What does not change is the set of questions that decide which category of platform fits, and the trade-offs each category makes. This guide compares the categories rather than the brands, and gives the questions that narrow the choice quickly. ### The four categories Almost every option falls into one of these, and the category decides more than the brand within it. | Hosted SaaS | Content and operations only | Most small and mid-sized stores | | Self-hosted open source | Everything: hosting, updates, security | Unusual requirements, in-house capability | | CMS plugin (e.g. a shop plugin) | The whole stack, lightly | Content-led sites with a modest catalogue | | Headless commerce | The front-end, and the integration layer | Multiple channels, custom experiences, larger teams | ### The questions that actually narrow it Answer these before looking at any feature list. Most of them eliminate whole categories rather than individual products. - How complex is a single product? Variants, configurable options and per-customer pricing rule out the simplest tools. - How many markets? Multiple tax regimes and currencies are where cheap platforms become expensive. - What must it integrate with? An existing ERP or accounting system is usually the deciding constraint. - Who runs it day to day? A platform requiring a developer for routine changes is the wrong fit for a two-person business. - What is the realistic order volume in two years? Transaction fees scale in a way monthly fees do not. - What happens if you leave? Ask how you export products, customers and orders before you sign anything. The exit question is the one nobody asks and the one that hurts most later. A platform with poor export tooling is a decision you cannot revisit cheaply. ### Total cost, not licence cost Hosted platforms look expensive on the subscription line and often cheaper overall once hosting, security and maintenance are counted. Self-hosted looks free and is not. | Subscription | Monthly, tiered by volume | None | | Transaction fee | Often a percentage on top of payment fees | Payment fees only | | Hosting | Included | Yours, and a store needs real resources | | Security and PCI | Largely handled | Yours, including scope | | Updates | Automatic | Yours, and can break customisations | | Apps and extensions | Monthly per app, adds up quickly | Usually one-off or free, plus your time | | Developer time | Lower for routine work | Higher, ongoing | ### Where each category breaks Knowing the failure mode is more useful than knowing the feature list, because you will meet it in year two rather than in the demo. - Hosted SaaS: a checkout requirement the platform will not allow, or app subscriptions quietly exceeding the platform fee. - Self-hosted: nobody applies the security updates, and the store is compromised or falls badly behind. - CMS plugin: catalogue growth degrades performance, and the site was never built for commerce-scale queries. - Headless: the front-end team becomes a bottleneck for changes the marketing team used to make themselves. Almost every one of these is an operational failure rather than a technical one. Choose the platform your organisation can actually run, not the most capable one. Q: Is open source cheaper than a hosted platform? A: Rarely, once you count hosting, security patching, developer time and the cost of an incident. It is cheaper when you have in-house capability that would otherwise be idle, or when you have requirements a hosted platform refuses. Comparing the subscription line to zero is the mistake that makes it look obvious. Q: Can I move platforms later? A: Yes, and it is a full project — typically 30–50% of the cost of a new build once catalogue migration, URL mapping and integration rework are counted. That is why the export question belongs in the selection process. Products usually export cleanly; customers and order history are where it gets difficult. Q: What about headless commerce? A: It is genuinely useful when you sell across several channels or need a front-end the platform cannot produce, and it is significant extra complexity otherwise: you own the front-end, the integration layer and their deployment. For a single-channel store with a normal catalogue it usually buys flexibility you will not spend. Q: Which platform is best for SEO? A: They are broadly comparable now — the differences are in how much control you have over URLs, canonicals and metadata, and in front-end performance. What matters more is whether your implementation handles faceted navigation, pagination and product URL stability properly, and that is a build decision on every platform. ## eCommerce Website Development: The Complete Guide https://websitedevelopment.biz/guides/ecommerce-website-development-guide Updated 2026-08-07 · eCommerce An online store is a website with money, stock and legal obligations attached. That is what makes eCommerce website development a different project from a brochure site: the parts that cost the most are usually not the ones customers see. This guide covers what a store project actually includes, what drives the cost, the operational work that starts at launch, and the mistakes that are expensive to unwind. ### What a store includes beyond the shop front The catalogue and checkout are the visible part. Underneath sit the systems that decide whether the business can actually operate, and they are where most of the budget goes on any store beyond the smallest. - Catalogue structure: categories, variants, attributes, bundles, availability rules. - Pricing: tax-inclusive or exclusive by market, discounts, customer groups, currency. - Payments: at least one gateway, plus refunds, partial refunds and failed-payment handling. - Shipping: zones, weights, dimensions, carrier rules, free-shipping thresholds. - Tax: VAT or sales tax by destination, invoices with the fields your jurisdiction requires. - Stock: availability, backorders, and reservation during checkout so you do not oversell. - Order management: where staff process orders — often a separate system entirely. - Emails: confirmation, dispatch, refund, abandoned basket, and their legal content. - Returns: the policy and the workflow that implements it. Ask early where staff will actually process orders. If it is your existing ERP, integration is a substantial part of the project and belongs in the first estimate. ### What drives the cost Product count matters less than product complexity and the number of systems the store has to talk to. | Catalogue | Simple products, one price | Variants, configurable options, per-customer pricing | | Markets | One country, one currency | Multiple tax regimes, currencies, languages | | Integrations | None beyond payment | ERP, PIM, WMS, accounting, marketplace feeds | | Migration | New store, no history | Existing catalogue, customers, orders and URLs | | Fulfilment | One warehouse, flat shipping | Multiple locations, carrier rules, dropshipping | | Compliance | Standard consumer sale | Age restriction, licensing, regulated goods | ### Migration is a project of its own Replatforming an existing store is usually harder than building a new one, and the difficulty is data and URLs rather than design. - Export and clean the catalogue before anything else. Existing data is always worse than remembered. - Decide what does not move. Discontinued products with no traffic do not need migrating. - Map every old product and category URL to a new one; 301 them, and expect this list to be long. - Migrate customer accounts without passwords — force a reset rather than moving hashes between systems. - Decide how much order history moves. Often the answer is "none, keep the old system read-only for a year". - Run both systems in parallel for a short window if stock allows, and reconcile daily. - Watch search traffic per category for six weeks; a category that drops is usually a redirect that was missed. Budget as much time for catalogue data cleaning as for building the store. On most migrations it is the larger task and the one nobody planned for. ### The work that starts at launch A store is an operating system for a business, not a project that finishes. These costs are ongoing and are frequently missing from the first budget. | Product content | New lines, new photography, new descriptions | | Stock accuracy | Overselling costs more than any development bug | | Payment and platform updates | Gateways deprecate APIs on their own schedule | | Security patching | Stores are a payment-data target; patches are not optional | | Fraud and chargebacks | Rules need tuning as the mix of orders changes | | Tax rule changes | Rates and thresholds change by jurisdiction, sometimes annually | | Performance | Catalogue growth degrades listing pages first | Q: How much does an online store cost to build? A: A small store on a hosted platform with a light theme can start around $5,000. A mid-sized store with a custom design and one or two integrations is typically $20,000–$60,000. Large catalogues with ERP integration and multiple markets run well beyond that. Migration usually adds 30–50% to an equivalent new build. Q: Hosted platform or self-hosted? A: Hosted platforms handle security, PCI scope and scaling for a monthly fee and often a transaction percentage, at the cost of customisation limits. Self-hosted gives full control and you own the maintenance and the compliance burden. For most small and mid-sized stores hosted is the lower-risk choice; the argument for self-hosted grows with unusual requirements and revenue. Q: Do I need a separate order management system? A: Below a few dozen orders a day the platform admin is usually enough. Above that, or with multiple sales channels, a dedicated system pays for itself quickly. The question to answer before the build is where the authoritative stock number lives, because that decides which system tells which. Q: What is the most common eCommerce build mistake? A: Treating tax and shipping as configuration rather than as requirements. They are business rules with edge cases — thresholds, zones, mixed baskets, digital goods — and discovering them in week eight rewrites the checkout. Get them written down during discovery, with examples of the awkward cases. ## SEO-Friendly URL Structure: Rules That Still Matter https://websitedevelopment.biz/guides/seo-friendly-url-structure Updated 2026-08-07 · SEO URLs are a small ranking factor and a large usability and maintenance factor. Their real value is stability: a URL you never have to change is a URL that keeps its links, its rankings and its bookmarks. This guide covers the rules that still matter, the ones that no longer do, and how to change a URL when you genuinely must. ### The rules worth following These are consistent across search engines and, more importantly, across the years — they are as much about maintenance as about ranking. - Lower case only. Some servers treat /Page and /page as different URLs, which creates duplicates by accident. - Hyphens between words, not underscores or camel case. - Short and descriptive. If someone reads the URL aloud, they should be able to guess the page. - No stop words needed: /guides/website-planning beats /guides/how-to-plan-a-website-for-your-business. - No file extensions on content pages. /about, not /about.php — it hides the implementation and survives a migration. - One canonical trailing-slash decision, enforced with a redirect. - ASCII where practical; non-ASCII URLs work but become percent-encoded when copied, which is ugly and error-prone. The single most valuable property is stability. A slightly imperfect URL that never changes is worth more than an optimised one that changes twice. ### What no longer matters much Several long-standing beliefs about URLs have limited effect today, and following them can actively hurt. | Exact-match keyword URLs rank better | Marginal at best; stuffing looks spammy | | Deep folder structure signals hierarchy | Click depth matters, path depth barely does | | Dates in URLs help freshness | They make evergreen content look stale | | Shorter is always better | Descriptive beats terse; /p/4821 helps nobody | | Subdomain versus subfolder is decisive | Subfolders are simpler to manage; either can work | | Query strings cannot be indexed | They can, but they multiply duplicates — prefer clean paths | ### Multilingual URL patterns For a site in several languages, the URL pattern is one of the hardest things to change later, because it interacts with hreflang, canonicals and every redirect you will ever write. | Subdirectory | site.com/de/guides | Simplest; one domain accumulates all authority | | Subdomain | de.site.com/guides | Cleaner separation; more setup, split signals | | Country domain | site.de/guides | Strongest local signal; a separate site to run | | Parameter | site.com/guides?lang=de | Avoid — weak signals and duplicate risk | Whichever you choose, decide separately whether the slug itself is translated. Translating slugs helps local relevance; keeping them identical is simpler to maintain. Both are defensible — changing your mind afterwards is not. ### Changing a URL without losing traffic Sometimes a change is genuinely necessary. The procedure is mechanical, and skipping any step is where the traffic goes. - Confirm it is worth it. A URL change always costs something; an incremental wording improvement rarely pays it back. - Map old to new, one to one. Every old URL gets a specific destination, not a category page. - Implement 301s, not 302s, and verify each one returns a single hop. - Update internal links to point at the new URL directly. Do not rely on your own redirects. - Update the sitemap, and leave the redirects in place indefinitely — external links never get updated. - Watch Search Console coverage and your top-page report for four to six weeks. - Expect a dip, and investigate only if it is still deepening after a month. Q: Should I include keywords in URLs? A: Include the words that describe the page, which usually are the keywords. What you should not do is stuff variants: /website-development-services-cheap-website-development is worse than /website-development-services in every way, including for the humans who see it in search results. Q: Subdomain or subfolder for a blog? A: Subfolder, in most cases. site.com/blog is simpler to manage, shares the domain’s accumulated signals, and needs no separate technical setup. Subdomains make sense when the section is genuinely a separate application, has a separate team, or must run on different infrastructure. Q: How long should I keep old redirects? A: Indefinitely. They cost almost nothing to keep and external links to your old URLs will never be updated. What you should do is periodically collapse chains created by successive migrations, so every old URL points directly at the current destination in a single hop. Q: Do URL parameters hurt SEO? A: They are not harmful in themselves, but they multiply near-duplicate URLs quickly — sorting, filtering and tracking parameters can generate thousands of variants of one page. Use clean paths for anything you want indexed, and canonicalise or noindex the parameter variants. ## Multilingual Website Development: Structure, URLs and Workflow https://websitedevelopment.biz/guides/multilingual-website-development Updated 2026-08-07 · CMS Adding languages to a website is rarely just translation. It changes URL structure, adds a set of reciprocal tags that break silently, and introduces a content workflow where one page becomes twelve pages that can drift apart. This guide covers the structural decisions, the technical requirements, and the workflow that keeps translations from going stale. ### Decide the URL pattern first This is the decision that is expensive to reverse, because it touches every URL, every redirect and every hreflang tag on the site. | Subdirectory | site.com/de/guides | Most sites — simplest, one domain accumulates authority | | Subdomain | de.site.com/guides | Separate infrastructure or separate teams | | Country domain | site.de/guides | Strong local commitment, and a separate site to run | | Parameter | site.com/guides?lang=de | Avoid — weak signals, duplicate risk | Decide separately whether the slug is translated. Translated slugs help local relevance; identical slugs are simpler to maintain. Either is defensible — changing your mind later is not. ### The technical requirements Each of these fails silently, which is why multilingual sites so often have no working hreflang despite having the tags. - Reciprocal hreflang. Every page in a language set lists every other, including itself. One missing reverse reference discards the cluster. - Consistent codes. The same code in the HTML and in the sitemap. Two codes for one page breaks the set. - x-default pointing at the language selector or the default version. - Correct lang and dir attributes on the html element for every version. - Self-referencing canonical per language — never canonicalise translations to the original. - No automatic redirection by IP or browser language. It breaks crawling and overrides a deliberate choice; offer a suggestion instead. - Translated metadata. Titles and descriptions in the target language, not the source. ### A translation workflow that survives The failure mode is not the first translation, it is the fifth edit to the English page that never reaches the other eleven. - Model translations as linked versions of one content item, so the system knows they belong together. - Track which translations are outdated relative to the source, and show it in the editing interface. - Decide what happens when a translation is missing: fall back to the default, or do not publish that URL at all. - Never publish a URL that has no translation — a page that half-renders in another language is worse than not existing. - Keep a review date per language, not per content item. - Give translators context: a screenshot or a preview beats a spreadsheet of strings. - Decide who owns each language. Unowned languages go stale first. Machine translation as a starting point is fine; publishing it unreviewed is not. Unreviewed output reads as unreviewed, and it is exactly the kind of low-value content search engines are increasingly explicit about. ### Beyond text Translation is the part everyone budgets. These are the parts that get missed and cause visible errors. | Dates and numbers | Format and separators differ by locale | | Currency | Symbol, position and rounding conventions | | Addresses and phone numbers | Field order and validation rules | | Names | Given and family name order is not universal | | Text length | German and Finnish run long; layouts must flex | | Reading direction | Arabic and Hebrew need logical CSS properties | | Images with text | Need a version per language, or no text in the image | | Legal pages | Requirements differ by jurisdiction, not only by language | Q: Should I redirect visitors to their language automatically? A: No. Automatic redirection based on IP or browser language interferes with crawling — a crawler from one country may never see the other versions — and it overrides deliberate choices, which is infuriating for anyone reading in a second language. Show a dismissible suggestion and let the visitor decide. Q: Is machine translation acceptable? A: As a first draft, yes, and it saves real money. Published without human review it produces content that reads as machine-generated, which affects both users and search quality assessment. The pragmatic approach is machine translation plus a native reviewer, especially for pages that sell or explain something important. Q: What breaks hreflang most often? A: Non-reciprocal tags: page A lists B, B does not list A, and the whole cluster is ignored. Second is mismatched codes between HTML and sitemap. Both are avoided by generating hreflang from a single source of truth rather than maintaining two lists. Q: Do I need to translate the whole site? A: No, and partial translation is normal. Translate what has demand in that market and let the rest exist only in the source language. What you must not do is publish an empty or half-translated URL — either the page exists properly in that language or it does not exist at all. ## Site Speed Optimisation: A Practical Order of Work https://websitedevelopment.biz/guides/site-speed-optimization-guide Updated 2026-08-07 · SEO Site speed work has a strong Pareto shape: a handful of fixes account for most of the improvement on most sites, and they are almost always images, server response and third-party scripts. This guide covers the order to work in, how to measure whether a change helped, and the optimisations that are usually not worth the effort. ### Measure before you change anything Optimising without measurement means fixing whatever is easiest rather than whatever is slow. Two measurements, then work. - Get field data for real visitors — the Core Web Vitals report in Search Console, or your own monitoring. - Run a lab test on the three most important templates, throttled to a mid-range phone on 4G. - Record the numbers before you start. Without a baseline you cannot tell whether a change helped. - Identify the largest single asset and the largest single blocking request on each template. - Note the Time to First Byte separately: if it is above 800ms, no front-end work will save you. ### The order that pays Roughly by improvement per hour of effort, for a typical content or brochure site. | Optimise and correctly size images | Large | Low | | Remove unused third-party scripts | Large | Low — mostly a political task | | Enable caching and a CDN | Large | Low | | Fix render-blocking CSS and JS | Medium to large | Medium | | Reduce the JavaScript bundle | Medium to large | Medium to high | | Fix slow database queries | Large where it applies | Medium | | Optimise font loading | Medium | Low | | Minify and compress text assets | Small | Low — usually already on | | Micro-optimise CSS selectors | Negligible | Not worth doing | ### Images: usually the biggest win On most sites images are the majority of page weight, and most are served at several times the size they are displayed. This is the cheapest large improvement available. - Serve WebP or AVIF; both are widely supported and typically 25–50% smaller than JPEG at equivalent quality. - Generate multiple sizes and use srcset with sizes so phones download phone-sized files. - Never serve a 2000px image into a 400px slot — this single mistake is extremely common. - Lazy-load everything below the fold, and nothing above it. - Automate it in the build or the CMS. Hand-optimised images stop being optimised the first time someone else uploads one. - Strip metadata; camera EXIF can be tens of kilobytes per file. Automation is the point. A one-off optimisation pass degrades within months as new content is added, and nobody notices until page weight has doubled. ### Third-party scripts and the server These are the two areas where the problem is usually organisational rather than technical: nobody owns the tag manager, and nobody owns the hosting decision. | Tag manager with unknown tags | Audit every tag; delete anything nobody can justify | | Chat widget loading on every page | Load on interaction, or only where support is needed | | Multiple analytics tools | Keep one; each is a full script and a connection | | A/B testing script blocking render | Move server-side, or accept a flash and load async | | Slow TTFB on shared hosting | Add full-page caching; upgrade the plan if it persists | | Uncached database queries | Cache the expensive ones; add indexes for the common ones | | No CDN | Add one — it is the cheapest global latency fix available | Third-party scripts are the most reliable source of unexplained slowdowns, because they change without telling you and are outside your deployment process. Q: What is a good page load time? A: The useful targets are the Core Web Vitals thresholds rather than a single load number: LCP under 2.5 seconds, and Time to First Byte under 800ms. Total load time is a poor measure because a page can be usable long before every asset finishes, and unusable well before that on a slow device. Q: Will a faster site increase conversions? A: Generally yes, and the effect is largest where pages are currently slow and visitors are on mobile networks. The gain from three seconds to two is far larger than from one and a half to one. If your site is already fast, spend the effort on content and clarity instead — the return is better. Q: Do caching plugins solve everything? A: They solve one real thing well — repeated server work for the same page — and they can create new problems, particularly with logged-in users, carts and forms. They also do nothing about oversized images or third-party scripts, which are usually the larger issues. Useful, not sufficient. Q: Is server-side rendering worth it for speed? A: If your pages currently render only in the browser, yes: server-rendering or static generation removes an entire round trip before content appears, and it helps indexing at the same time. If your pages are already server-rendered HTML, the question does not apply — you already have the benefit. ## Core Web Vitals for Developers: What Actually Moves the Numbers https://websitedevelopment.biz/guides/core-web-vitals-for-developers Updated 2026-08-07 · SEO Core Web Vitals are three field measurements of how a page feels: how long until the main content appears, how much it moves while loading, and how quickly it responds to input. They are a ranking signal, and more importantly they correlate with whether people stay. This guide covers what each metric measures, the specific causes behind poor scores, and the fixes that move field data rather than only lab scores. ### What the three metrics measure Each has a threshold for "good" and each has a small number of usual causes. Note that the number that counts for ranking is field data from real visitors, not a lab score from your laptop. | LCP | Under 2.5s | Time until the largest visible element renders | Unoptimised hero image, slow server, render-blocking CSS | | CLS | Under 0.1 | How much layout moves during load | Images without dimensions, injected banners, late web fonts | | INP | Under 200ms | Responsiveness to user interaction | Long JavaScript tasks blocking the main thread | Lab tools measure one load on one machine. Field data is the 75th percentile of real visits, which includes old phones on poor networks — the visitors most likely to leave. ### Fixing LCP LCP is almost always an image or a heading blocked behind something else. Work through these in order; the first two fix most sites. - Identify the actual LCP element in field data. Optimising the wrong image is the most common wasted effort. - Never lazy-load the LCP image. Give it fetchpriority="high" instead. - Serve it in a modern format at the size it is displayed, with srcset for smaller screens. - Preload the font used by the LCP text and use font-display: swap so text is not invisible while waiting. - Remove render-blocking CSS and JavaScript from the head; inline the critical CSS if the page is small enough. - Reduce Time to First Byte with caching and a CDN — no front-end work can compensate for a slow server. - Cut third-party scripts in the critical path. Each one is a DNS lookup, a connection and an unpredictable file. ### Fixing CLS Layout shift is almost entirely preventable and the fixes are cheap. It is also the metric visitors notice most viscerally — it is what makes people tap the wrong thing. - Set width and height attributes on every image and video so the browser reserves space. - Reserve space for ads, embeds and iframes with a fixed aspect ratio container. - Never insert content above existing content after load — cookie banners belong at the bottom, or overlaid. - Match the fallback font metrics to the web font, or use size-adjust, so the swap does not reflow the page. - Avoid animating layout properties. Animate transform and opacity, which do not trigger reflow. - Give dynamically loaded sections a min-height so they do not expand from zero. ### Fixing INP INP replaced First Input Delay and is harder, because it measures every interaction across the visit rather than only the first. Poor INP is nearly always too much JavaScript running on the main thread. | Large bundle parsed on load | Code-split; load only what the page needs | | Long tasks over 50ms | Break work into chunks and yield to the main thread | | Expensive event handlers | Debounce, and move heavy work off the interaction path | | Heavy third-party tags | Load after interaction, or remove — audit what each one earns | | Large DOM (10,000+ nodes) | Virtualise long lists; simplify deeply nested markup | | Layout thrashing in handlers | Batch reads and writes instead of interleaving them | On content sites the highest-value INP fix is usually deleting JavaScript rather than optimising it. Ask what each script earns; tag managers accumulate scripts nobody remembers adding. Q: How much do Core Web Vitals affect rankings? A: They are a real but modest signal, and they act as a tiebreaker rather than as a substitute for relevance. A fast page about the wrong thing does not outrank a slower page that answers the query. The stronger argument for fixing them is behavioural: slow, shifting pages lose visitors before ranking enters into it. Q: Why is my Lighthouse score good but my field data bad? A: Because Lighthouse simulates one load on your machine with your connection, and field data is the 75th percentile of real visits — including three-year-old phones on congested mobile networks. When the two disagree, the field data is the one that counts. Use lab tools to diagnose, not to score. Q: Do I need to fix all three metrics? A: Fix the ones that are failing, in the order of what your visitors experience. CLS is usually the cheapest to fix and the most annoying to users, so it is a good place to start. LCP has the biggest effect on whether people wait. INP matters most on interactive sites and least on static articles. Q: How long before improvements show up? A: Field data is a 28-day rolling window, so meaningful movement takes about four weeks after a fix is deployed to all visitors. Do not judge a change after three days. Do check lab metrics immediately to confirm the fix actually did what you expected. ## CMS Migration: How to Move Without Losing Traffic https://websitedevelopment.biz/guides/cms-migration-guide Updated 2026-08-07 · CMS A CMS migration moves content from one system to another. The risk is not technical — exports and imports are solved problems — it is that structure, URLs and metadata change along the way, and search engines notice all three. This guide covers the sequence that keeps traffic intact, the audit that should come first, and what to watch afterwards. ### Audit before you move anything Migrating everything is the default and usually the wrong choice. Most sites carry a substantial tail of pages that get no traffic, have no links and serve no purpose, and moving them imports the problem into the new system. - Crawl the existing site to get every URL that actually exists. - Pull twelve months of traffic per URL, plus inbound links. - Classify each page: migrate as is, rewrite, merge with another, or drop. - Anything with traffic or links must have a destination. Everything else can go. - Note which pages carry structured data, custom fields or unusual templates. - Export the metadata — titles and descriptions — separately. It is the most commonly lost asset in a migration. Merging thin pages into stronger ones during a migration is one of the few reliably positive SEO outcomes of the whole exercise. Redirect the merged ones to the survivor. ### Model the content before importing it The temptation is to recreate the old structure exactly. That imports old compromises. Model the content as it should be, then map the old data onto it. | Content types | What genuinely differs — page, article, product, person, event | | Fields | Structured fields instead of one HTML blob wherever it is feasible | | Taxonomies | Which categories and tags survive; most sites have too many | | Media | Where files live and whether paths change | | Authors and dates | Preserve real publication dates; do not reset them all to today | | Metadata | Titles, descriptions and canonicals mapped explicitly | | Redirect map | Old URL to new URL, one to one, built as you go | Resetting publication dates on import is a common accident and it destroys the freshness signal on your entire archive at once. ### Preserve URLs, and redirect what you cannot The single biggest determinant of whether a migration costs traffic. - Keep the existing URL structure unless it is genuinely broken. "The new CMS prefers a different pattern" is not a good enough reason. - Where URLs must change, map one to one — never to a category page or the homepage. - Use 301 redirects, and verify each is a single hop. - Redirect media files too. Images accumulate links and appear in image search. - Keep redirects indefinitely; external links are never updated. - Test the redirect map on staging with the full list before launch, not a sample. ### Launch and the six weeks after The migration is not finished at cutover. Most problems become visible in the following month. - Launch when you can watch it. Not Friday, not before a holiday. - Verify robots.txt, meta robots, canonicals and the sitemap on production immediately. - Run the full redirect list against production and check for 404s and chains. - Submit the new sitemap in Search Console and watch coverage daily for a week. - Compare top pages against the previous period; a page that drops sharply usually has a specific cause. - Watch server logs for crawler 404s — they find missed URLs faster than analytics does. - Expect fluctuation for two to six weeks; investigate a decline that is still deepening after a month. - Keep the old system read-only for a while, so you can check what a page used to contain. Q: Will I lose search traffic when migrating? A: Expect a dip of a few weeks even when everything is done correctly — search engines have to recrawl and reassess. With clean redirects and preserved content, traffic normally returns to the previous level within two to six weeks. A permanent loss almost always traces back to missed redirects, changed content, or pages that were quietly dropped. Q: Should I redesign at the same time? A: It is tempting and it makes diagnosis much harder: when traffic moves you cannot tell whether it was the migration or the design. If you can separate them, migrate first with the existing templates, confirm stability, then redesign. If they must happen together, be more rigorous about preserving URLs and content. Q: How do I migrate content that does not map cleanly? A: Some content always resists automation — custom layouts, embedded widgets, hand-built tables. Identify these during the audit and budget manual time for them. Trying to automate the last 5% usually costs more than doing it by hand, and produces worse results. Q: Should I keep the old CMS running? A: Keep it accessible but not public for a few months: read-only, blocked from search engines, on an internal address. It is invaluable for checking what a page used to say when something looks wrong. Then decommission it properly — an abandoned public install is a security liability. ## Technical SEO Checklist for Website Developers https://websitedevelopment.biz/guides/technical-seo-checklist Updated 2026-08-07 · SEO Technical SEO is the part of search work that lives in the codebase rather than in a content calendar. It is largely a checklist, and most of it is verifiable rather than a matter of opinion. This guide is that checklist, grouped by the problem each item prevents, with the mistakes that are common enough to be worth naming. ### Indexing controls The purpose here is that exactly the pages you want indexed are indexed, and nothing else — no staging copies, no filter permutations, no printer-friendly duplicates. - One canonical hostname; every other variant 301s to it — including HTTP and the www/non-www twin. - Self-referencing canonical on every indexable page. - noindex, follow on thin or duplicate pages: internal search results, filter combinations, thank-you pages. - Never block a page in robots.txt that carries a noindex tag — the tag can then never be read, so the URL lingers in the index. - Staging blocked by HTTP authentication, not only by robots.txt. - Parameter handling decided: which query strings create a distinct page and which do not. noindex and a robots.txt block do opposite jobs and cancel each other out. If you want a page gone, allow crawling so the noindex can be seen. ### Redirects and status codes Redirects are where relaunches quietly lose traffic. The failures are mechanical and easy to test before launch. | Page moved permanently | 301 to the equivalent page | 302, or redirect to the homepage | | Page deleted, no equivalent | 410 or 404 | Soft 404: a "not found" page returning 200 | | Temporarily unavailable | 503 with Retry-After | Returning 200 with an error message | | Trailing slash variants | One canonical form, other 301s | Both serving the same content at 200 | | Old domain | 301 mapped page by page | Everything to the new homepage | | Redirect chains | Collapse to a single hop | A → B → C → D, losing signal at each step | ### Pagination, facets and duplication Listing pages generate the largest index problems, because a handful of filters can produce thousands of URL combinations that all look like near-duplicates. - Paginated pages: real crawlable links, each page self-canonical — do not canonicalise page 2 to page 1. - Filter combinations: noindex, follow by default; index only the small number that match real search demand. - Sort orders: never create a new indexable URL. Same content, different sequence. - Session identifiers and tracking parameters: strip them, or canonicalise to the clean URL. - Printer-friendly and AMP-style duplicates: canonical to the main version. - Products in multiple categories: one canonical URL, linked from all of them. Faceted navigation left open is the most common cause of index bloat, and it clears slowly. It is much cheaper to prevent at build time than to unwind afterwards. ### Structured data and international setup Two areas where a mechanical error silently disables the whole feature. | Article markup | Only on real articles, with genuine dates | Fake freshness dates get the feature ignored | | Product markup | Price and availability must match the page | Mismatch triggers a manual action | | FAQ markup | Only for questions visible on the page | Hidden content is a policy violation | | Breadcrumbs | Must match the visible trail | Diverging paths are simply ignored | | hreflang | Reciprocal on every page in the set | One-way tags mean the whole cluster is dropped | | hreflang codes | Same code in HTML and in the sitemap | Two different codes for the same page breaks the cluster | | x-default | Points at the language selector or default version | Missing it costs the fallback behaviour | Q: How do I find technical SEO problems on an existing site? A: Crawl it with a desktop crawler and compare what you get against your sitemap and against Search Console coverage. The three lists disagreeing is where the problems are: URLs in the crawl but not the sitemap, URLs indexed but not in the crawl, and pages excluded for reasons you did not intend. Q: Do redirect chains really matter? A: Yes, for two reasons. Each hop adds latency for real users, and crawlers stop following after a few. After a couple of migrations it is common to find chains four or five deep that nobody planned. Collapse them so every old URL points directly at the final destination. Q: Should I noindex tag and category pages? A: Only if they are genuinely thin. A category page with a real description, a curated list and internal links is a legitimate landing page and often a strong one. A tag page with two posts and no text is index bloat. Judge each template on whether it answers a query someone actually has. Q: What breaks hreflang most often? A: Non-reciprocal tags. If the English page lists the German alternate but the German page does not list the English one, the cluster is discarded. The second most common failure is declaring one code in the HTML and a different one in the sitemap for the same page. Generate both from the same source so they cannot diverge. ## WordPress vs Webflow vs a Custom Build https://websitedevelopment.biz/guides/wordpress-vs-webflow-vs-custom Updated 2026-08-07 · CMS For a business website, most decisions come down to these three. They are not competitors in a straightforward sense — they suit different teams, different budgets and different appetites for maintenance. This guide compares them by operating model, three-year cost and exit difficulty, which are the factors that actually decide whether the choice works out. ### The three in one table The summary, before the detail. | Model | Self-hosted open source | Hosted visual builder | Your code, your hosting | | Editing | Good, familiar to many | Excellent visual control | As good as you build it | | Who maintains it | You | The vendor | You | | Extensibility | Very large plugin ecosystem | Limited, improving | Unlimited | | Performance | Depends heavily on the build | Generally good | As good as you pay for | | Running cost | Hosting plus plugins plus dev time | Subscription per site | Hosting plus dev time | | Leaving | Full database access | Export is limited and lossy | It is your code | ### Where each one is genuinely strong Choosing on the strength that matches your situation is more reliable than choosing on the weakness you fear. - WordPress: content-led sites, blogs, sites that need a specific plugin, teams with WordPress skills, and anything where a large ecosystem saves custom work. - Webflow: design-led marketing sites where visual control matters and there is no developer to maintain infrastructure. Also good for teams that need to ship landing pages quickly. - Custom: applications, unusual integrations, strict performance or accessibility targets, or a site that is itself the product. The most common mismatch is a small team choosing a custom build for a brochure site. It is not wrong technically; it is simply money that would produce more return spent on content. ### Three-year cost, honestly Rough shape rather than precise numbers, for a mid-sized business site. | Build | Low to medium | Low to medium | High | | Hosting | Low to medium | Included in subscription | Low to medium | | Licences and plugins | Ongoing, rises over time | Included, tiered by usage | Minimal | | Maintenance | Medium, continuous | Low | Medium | | Developer time for changes | Low for content, medium for features | Low | Medium | | Risk cost | Compromise if unpatched | Vendor price and policy changes | Key-person dependency | ### Exit difficulty How hard it is to leave should be part of the decision, because it determines whether the choice is reversible. - Custom: easiest in principle — you have the code, the database and the hosting. The risk is documentation and whether anyone else can work with it. - WordPress: straightforward. Content exports cleanly; the work is rebuilding what plugins were doing. - Webflow: hardest. You can export static HTML and CSS, but CMS content, forms and interactions do not come with it, so leaving is a rebuild. Ask the exit question during selection, not during a dispute. It is the cheapest question to ask and the most expensive to have skipped. Q: Which is best for SEO? A: All three can be excellent, and all three can be poor. What matters is server-rendered HTML, control over titles and canonicals, clean URLs, sitemaps, structured data and speed. WordPress gives you plugins for this, Webflow has it built in with some limits, custom gives you full control and full responsibility. The build quality dominates the platform choice. Q: Is WordPress insecure? A: WordPress core is actively maintained and reasonably secure. Most compromises come from outdated plugins, abandoned themes and weak admin credentials. A patched WordPress with few plugins and two-factor authentication is fine; a site with forty plugins nobody updates is not, and that is a maintenance choice rather than a platform property. Q: Can Webflow handle a large site? A: It handles moderate content sites well and has limits on CMS item counts and collection structure that are worth checking against your actual content model before committing. For a large, complex catalogue or heavy custom logic, it is usually the wrong tool — not because it is weak, but because it is not aimed at that. Q: When is a custom build worth it? A: When the site does something specific to your business that off-the-shelf tools fight: a configurator, an unusual booking flow, deep integration with your operational systems, or strict performance and accessibility requirements. Distinctive design alone is rarely a sufficient reason, because a custom theme on a CMS achieves that for much less. ## Website Development SEO Basics: What to Build In https://websitedevelopment.biz/guides/website-development-seo-basics Updated 2026-08-07 · SEO A large share of SEO is not marketing at all — it is decisions made during website development that are cheap at build time and expensive later. URL structure, rendering strategy, internal linking and editable metadata all fall into that category. This guide covers what to build in from the start, in rough order of how painful it is to add afterwards. ### Make sure the site can be crawled and indexed Everything else is irrelevant if search engines cannot reach or read your pages. This is also where launch-day mistakes cluster. - robots.txt on production allows crawling. The staging copy must not be deployed with it. - No stray noindex meta tags carried over from staging. - Every page has a self-referencing canonical URL, and there is one canonical hostname. - Content is in the HTML, or server-rendered. If it only appears after JavaScript runs, indexing becomes slower and less reliable. - An XML sitemap listing only indexable, canonical URLs — not filtered or paginated variants. - Every indexable page has at least one internal link. Orphaned pages are barely crawled. - Consistent status codes: 200 for real pages, 404 for missing ones, 301 for moved ones. The single most common launch failure in this list is the staging robots.txt reaching production. Check it from outside your network on launch day. ### Structure that search engines can read Structural decisions are the ones that are painful to change later, because changing them means redirects and losing accumulated signals. | URL pattern | Short, lower case, hyphenated, stable | High — redirects and lost signals | | Heading hierarchy | One H1, no skipped levels | Low | | Internal linking | Hubs linking to detail pages and back | Medium | | Pagination | Crawlable links, not JavaScript-only | Medium | | Faceted navigation | noindex on filter combinations | High — index bloat is slow to clear | | Language versions | Prefix URLs plus reciprocal hreflang | Very high | ### Metadata your team can actually edit A common build failure is generating titles and descriptions from a template with no way to override them. Six months later marketing needs to change one page's title and the answer is a developer ticket. - Editable title tag per page, with a sensible generated default. - Editable meta description, with a visible character counter in the CMS. - Editable Open Graph title, description and image for shared links. - Structured data on the templates that support it: Article, Product, FAQ, Breadcrumb, Organization. - A per-page noindex switch for pages that should exist but not rank. - Automatic canonical, with a manual override for the rare case that needs one. Only mark up what is actually visible on the page. Structured data describing content a visitor cannot see is a policy violation, not a shortcut. ### Speed and stability as build requirements Page experience is part of the build, not a later optimisation project. Retrofitting speed onto a finished site usually means undoing decisions rather than adding code. | Largest Contentful Paint | Under 2.5s | Prioritising the hero image, avoiding render-blocking assets | | Cumulative Layout Shift | Under 0.1 | Width and height on images, reserved space for embeds | | Interaction to Next Paint | Under 200ms | Less JavaScript, and not blocking the main thread | | Page weight | As low as the design allows | Modern image formats, no unused libraries | | Time to First Byte | Under 800ms | Caching, a CDN, and sensible database queries | Q: Should SEO be in the development brief? A: The technical parts, yes — crawlability, URL structure, editable metadata, structured data, performance targets and redirect mapping. Content strategy and link building are separate work with a different skill set. Putting the technical requirements in the brief means they are quoted rather than discovered after launch, which is when they cost several times more. Q: Does a JavaScript framework hurt SEO? A: It can, if pages are rendered only in the browser. Search engines can execute JavaScript but do so on a delay and not always completely, so client-only rendering makes indexing slower and less reliable. Server-side rendering or static generation removes the problem. For a content site the simplest answer is usually to put the content in the HTML. Q: How long after launch before I see search traffic? A: For a brand-new domain, typically weeks for indexing and months before meaningful rankings — new sites do not rank quickly regardless of technical quality. For a relaunch of an existing site with clean redirects, expect two to six weeks of fluctuation before things settle back around the previous level. Q: Do I need an SEO plugin? A: On a CMS, a plugin is a convenient way to give editors control over titles, descriptions, canonicals and sitemaps. It is not a strategy, and its default output is not a substitute for someone deciding what each page should be about. On a custom build the same functionality is usually written directly and is lighter for it. ## Headless CMS vs Traditional CMS: Which Fits Your Site? https://websitedevelopment.biz/guides/headless-cms-vs-traditional-cms Updated 2026-08-07 · CMS A traditional CMS stores content and renders the pages. A headless CMS stores content and hands it over through an API, leaving rendering entirely to you. That single difference cascades into everything: preview, cost, team structure and how quickly a marketer can change a page. This guide covers what you gain, what you lose, and where the middle ground sits. ### The actual difference Everything else follows from where rendering happens. | Rendering | The CMS produces the HTML | Your front-end does | | Templates | Inside the CMS | In your codebase | | Preview | Built in and accurate | You have to build it | | Channels | One website | Website, app, kiosk, anything that can call an API | | Front-end freedom | Bounded by the CMS | Complete | | Time to first page | Fast | Slow — nothing renders until you build it | | Who is needed for a layout change | Often an editor | A developer | ### What you give up going headless The features a traditional CMS provides for free are the ones people miss, and they are usually discovered after the decision is made. - Preview. Editors expect to see the page before publishing. In headless this is a feature you build and maintain. - Page composition. Arranging blocks on a page is a solved problem in traditional systems and a build in headless ones. - Menus and navigation. Also something you now model and build yourself. - Forms. No form builder comes with the API. - Redirects and URL management. Yours to implement. - Plugin ecosystem. SEO fields, sitemaps, redirects — all of it becomes custom work. - Speed of small changes. "Move that section up" stops being an editor task. The recurring pattern in disappointing headless projects is a marketing team that could previously change a page themselves and now files tickets. ### When headless is the right call It fits a specific shape of problem, and outside that shape it is expensive flexibility. | Content shown in a site and a mobile app | Strong — this is the core case | | Several sites sharing one content source | Strong | | Front-end requirements the CMS cannot meet | Strong | | A dedicated front-end team already exists | Good | | Marketing site with a small team | Poor — you lose speed and gain tickets | | Content-led site with frequent layout changes | Poor | | "It is the modern approach" | Not a reason | ### The middle ground Most sites are better served by something between the two extremes. - Traditional CMS with a custom theme. Full front-end control, and preview and composition still work. - Traditional CMS used headlessly for one surface. The website stays rendered by the CMS; the app consumes an API. - Headless CMS with a static site generator. Editors get a good interface, the site is static and fast; preview needs work. - Hybrid CMS. Systems that offer both rendered pages and an API — often the pragmatic answer. - Static generator with a git-based editor. Very low cost and very low risk for content that is mostly documents. A custom theme on a traditional CMS gives you most of the front-end freedom people go headless for, without giving up preview, composition and the ecosystem. Q: Is headless better for performance? A: It can be, because you control exactly what is sent — but the gain comes from static generation and a lean front-end, not from the API. A well-built traditional CMS with proper caching and a custom theme is fast too. Performance is a consequence of how you build, not of where the content is stored. Q: Is headless better for SEO? A: Neutral at best, and worse if pages render only in the browser. Everything technical SEO needs — server-rendered HTML, canonicals, sitemaps, structured data, redirects — has to be implemented yourself in headless, whereas traditional systems have mature plugins for it. Headless is fine for SEO with discipline and disappointing without it. Q: Can editors preview content in a headless setup? A: Yes, but you build it: a preview mode in the front-end that fetches draft content and renders it. Budget for it explicitly. Projects that skip preview end up with editors publishing to production to see how something looks, which is exactly what a CMS is supposed to prevent. Q: What does headless cost compared with traditional? A: The initial build is typically higher, because you are building the front-end plus the features a traditional CMS included. Running costs can be lower, especially with static generation. The bigger long-term difference is that more routine changes require developer time, which is a continuing cost that does not show up in the build quote. ## Do You Need a Design System for Your Website? https://websitedevelopment.biz/guides/design-system-for-websites Updated 2026-08-07 · Web design A design system is a set of reusable components and the rules for using them. On a large site with several people making changes it removes a great deal of duplicated decision-making. On a five-page brochure site it is a cost with no return. This guide covers where the line is, what a minimum useful system actually contains, and what to do instead when a full system is not justified. ### When it pays and when it does not The value comes from repetition: the same decision made once instead of forty times, and consistently. If the repetition is not there, neither is the value. | Five-page brochure site, one designer, rare changes | No — a style guide page is enough | | One site, several templates, occasional content changes | Light: tokens and a component sheet | | Site plus app sharing a brand | Yes — the shared surface is where drift happens | | Several sites in one organisation | Yes — this is the strongest case | | Frequent A/B testing and campaign pages | Yes — speed of assembly is the payoff | | Rebuild planned within a year | Not yet — build the system with the rebuild | ### The minimum useful system Most of the benefit comes from a small core. You can build this in days, not months, and it is enough for most websites that need one at all. - Tokens: colour, type scale, spacing scale, radii, shadows, breakpoints — named, not hard-coded numbers. - Typography: heading levels and body styles with their responsive behaviour. - Buttons and links: every state — default, hover, focus, active, disabled, loading. - Form controls: input, select, textarea, checkbox, radio, plus error and hint styles. - Cards and lists: the two or three repeating content containers your site actually uses. - Navigation: header, footer, breadcrumb, pagination. - Feedback: empty state, error state, loading state, success message. States are the part that gets skipped and the part that matters most. A component defined only in its default state hands every edge case back to whoever is implementing it. ### The maintenance cost nobody budgets A design system is a product with users, and it needs an owner. Without one it drifts: the site gains components the system does not have, the system keeps components nothing uses, and after a year people work around it rather than with it. - Someone owns it and decides what goes in. A system owned by a committee stops changing. - A documented route for proposing a new component, so people extend it rather than bypass it. - Versioning, so a change does not silently alter every page at once. - A periodic audit of what is in the live site but not in the system — that gap is the health measure. - Deletion. Unused components are cost, not value. ### Lighter alternatives If the case for a full system is not there, there are cheaper steps that capture much of the consistency benefit. | CSS custom properties for colour, type and spacing | Hours | Any site at all — this is the floor | | A single live style guide page in the site itself | A day | Small sites with occasional contributors | | Component library in the CMS or template layer | Days | Content teams assembling pages | | Established CSS framework, lightly themed | Days | Internal tools and admin screens | | Full documented design system | Weeks to months | Multiple products or multiple teams | A live style guide page inside the real site beats a document: it uses the same CSS, so it cannot drift from reality without visibly breaking. Q: Can I use an off-the-shelf design system? A: Yes, and for internal tools it is usually the right call — the branding matters little and you get accessible, tested components immediately. For a public marketing site the trade is that your site looks like every other site using the same system, so most organisations theme it heavily, at which point some of the maintenance saving disappears. Q: Who should own the design system? A: One named person, with input from designers and developers. Shared ownership between design and engineering sounds collaborative and in practice means nobody decides, so the system stops evolving and people route around it. The owner does not have to build everything; they have to say yes and no. Q: What is the difference between a style guide and a design system? A: A style guide documents appearance: colours, typefaces, logo usage. A design system includes that plus working components, their states, the rules for combining them, and usually the code. A style guide tells you what things look like; a design system gives you the parts and tells you when to use each one. Q: How do I stop it going stale? A: Make it the path of least resistance and audit the gap. If using the system is slower than writing one-off CSS, people will write one-off CSS. Periodically list the components in the live site that are not in the system: a growing list means the system is not serving the people building pages, and that is a design problem in the system itself. ## How to Become a Website Developer: A Realistic Path https://websitedevelopment.biz/guides/how-to-become-a-website-developer Updated 2026-08-07 · Hiring developers Becoming a website developer is a matter of learning a specific, finite set of things and then proving you can finish work. The learning is well documented and free; the harder part is building evidence that someone should pay you. This guide covers a realistic order of learning, honest timescales, what a portfolio actually needs, and how first clients are found. ### What to learn, in order Order matters more than pace. Each layer makes the next one comprehensible, and skipping ahead produces developers who can copy solutions but not diagnose problems. - HTML, properly. Semantics, forms, accessibility. Most professional developers have gaps here and it shows in their work. - CSS, properly. The box model, flexbox, grid, custom properties, responsive layout. This is where a beginner can become genuinely useful quickest. - JavaScript fundamentals. The language itself and the DOM, before any framework. - Version control. Git, branches, pull requests. Non-negotiable for working with anyone. - How the web works. HTTP, status codes, caching, DNS, TLS. This is what separates diagnosis from guessing. - A back-end language and SQL. Any one of the common choices; the concepts transfer. - A CMS or a framework, chosen for what work exists near you. - Deployment. Getting a site onto real hosting, with a domain and a certificate. Depth in HTML and CSS is undervalued and immediately marketable. A developer who can build fast, accessible, responsive interfaces is more employable than one who knows three frameworks shallowly. ### How long it actually takes With consistent study of 15–20 hours a week. Full-time compresses this, and nothing compresses the last row. | Basics of HTML and CSS | 1–2 months | Build a static page from a design | | Responsive layout and JavaScript basics | 3–5 months | Build a small site with interaction | | First real project | 5–8 months | Ship something for someone else | | Employable junior | 8–14 months | Contribute to a codebase with supervision | | Working independently | 2–3 years | Run a small project end to end | | Senior | 5+ years | Make architectural decisions and be right often | The step people underestimate is "ship something for someone else". Building for yourself teaches syntax; building for a client teaches scope, feedback, deadlines and the fact that requirements change. ### What a portfolio needs to show Three or four finished, live, well-explained projects beat twenty tutorial clones. What is being judged is whether you finish things and whether you understand what you built. - Live URLs, not screenshots. It must work when someone clicks. - A short write-up per project: the problem, your decisions, what you would do differently. - At least one real project with a real user, even unpaid — a local business, a club, a charity. - Evidence of quality: fast, accessible, works on a phone. People will check. - Your own site, done well. It is the first thing anyone looks at and the easiest thing to get right. - Code on a public repository with readable commits and a README that explains how to run it. ### Finding the first clients The first two or three are the difficult ones. After that, most work comes from referral, which means finishing well matters more than marketing. - Start with people you already know. Almost every developer’s first paid work came this way. - Pick a niche rather than being general. "Websites for dental practices" is far easier to sell than "websites". - Solve one specific expensive problem — site speed, an accessibility audit, a migration — rather than offering everything. - Charge from the first project, even a small amount. Free work is valued accordingly and attracts unlimited scope. - Write down scope and payment terms before starting, however small the job. - Finish properly: handover, documentation, an offer of maintenance. This is what produces the second client. - Ask for a referral when the client is happiest, which is right after launch. Q: Do I need a computer science degree? A: No, and a large share of working web developers do not have one. A degree helps in some large organisations and for roles closer to computer science than to web development. For most website work, evidence of finished projects matters more than credentials — but you do need the fundamentals that a degree would have given you, learned some other way. Q: Front-end or back-end first? A: Front-end, in almost every case. You see results immediately, which sustains motivation, and it is the shortest path to being useful to someone. Once you can build interfaces properly, back-end concepts are easier to learn because you already understand what the data is for. Q: Is it too late to start? A: No, and career changers frequently do well because they bring domain knowledge someone else lacks — accountants who build for accountants, teachers who build for schools. The market for junior generalists is competitive; the market for someone who understands a specific industry and can build is much less so. Q: Should I learn a framework early? A: Learn the fundamentals first. Frameworks change every few years and are much easier to pick up when you understand what they are abstracting. Developers who learned a framework without the underlying language tend to be effective inside its patterns and stuck outside them, and that ceiling arrives quickly. ## What Is a CMS and Do You Actually Need One? https://websitedevelopment.biz/guides/what-is-a-cms Updated 2026-08-07 · CMS A content management system lets people who do not write code create and change pages. That is the whole value proposition, and it is a real one — but it is not free, because a CMS is software that has to be hosted, updated and secured for as long as the site exists. This guide covers what a CMS actually gives you, when it is worth the overhead, and what to use when it is not. ### What a CMS provides Beyond "edit pages", these are the capabilities you are buying — and they are worth listing because most CMS decisions are made without checking which of them you need. - Editing without deployment. Change text and publish immediately. - Structured content. Fields rather than a blob of HTML, so content can be reused and rendered consistently. - Media management. Upload once, use anywhere, with automatic resizing. - Users and permissions. Authors, editors, approvers with different rights. - Workflow. Drafts, previews, scheduling, revision history. - Search and navigation generated automatically from content. - Extensibility. Forms, commerce, translations through an ecosystem. If you only need the first item on this list and one person makes changes twice a year, a CMS is a large amount of machinery for a small job. ### The overhead nobody mentions at the start A CMS is a running application, which means it has an ongoing cost profile whether or not anyone edits the site. | Security patching | Popular systems are constantly probed; updates are not optional | | Plugin maintenance | Every extension is another update and another possible breach | | Hosting | A database-backed application needs more than static files | | Performance work | Dynamic pages need caching to be fast | | Version upgrades | Major versions can break themes and customisations | | Training | Editors need to know how to use it without breaking layouts | ### When you need one, and when you do not The deciding factor is change frequency multiplied by the number of people who need to make changes. | Marketing team publishing weekly | Yes — this is exactly the case a CMS is for | | Five-page site changed twice a year | No — a static site is cheaper and safer | | Documentation maintained by developers | No — files in version control work better | | Online store | Yes, and a commerce platform rather than a general CMS | | Landing pages for campaigns | Yes — speed of publishing is the whole point | | Site with several content types and translations | Yes — structure is what a CMS is good at | ### The alternatives For sites that change rarely, there are options with much lower running costs and almost no attack surface. - Static site generator. Content in files, built to HTML, deployed to a CDN. Fast, cheap and almost nothing to attack — but editing needs a technical workflow unless you add an editing layer. - Static generator plus a git-based editor. Non-technical editing on top of files, keeping the static output. - Headless CMS plus static generation. Editors get a friendly interface; the public site is still static. - Hand-built HTML. Perfectly reasonable for a small brochure site that genuinely never changes. - Website builder. The editing is the product; the trade is portability and performance. The static route removes an entire category of risk: there is no database to inject into and no admin login to brute-force. For a site that changes monthly, that is a meaningful saving. Q: Is WordPress the default choice? A: It is the most common one, and commonality brings a large ecosystem, plenty of people who know it, and a correspondingly large amount of automated attention from attackers. It suits content-led sites well. It is not automatically right for applications, complex commerce, or sites whose content is mostly structured data rather than pages. Q: What is the difference between a CMS and a website builder? A: A CMS manages content and usually leaves the presentation to templates you or a developer control. A builder combines content and layout in one visual editing tool. Builders are quicker for non-technical users and harder to leave, because layout decisions live inside the product rather than in code you own. Q: Can I add a CMS to an existing static site? A: Yes, and it is a common upgrade path — either a headless CMS supplying content to the existing templates, or a git-based editing layer over the current files. It is usually less work than a full migration, because the templates and the URLs stay where they are. Q: How many plugins are too many? A: There is no fixed number, but every plugin is an update to apply, a possible conflict and a possible vulnerability. A useful discipline is to justify each one against what it earns: if it saves an hour a year and needs quarterly attention, it is costing you. Sites with forty plugins are almost always carrying several nobody can explain. ## Questions to Ask a Web Developer Before You Hire https://websitedevelopment.biz/guides/questions-to-ask-a-web-developer Updated 2026-08-07 · Hiring developers Most questions asked in a first call are about technology, and technology is the part that matters least to whether the project succeeds. The questions that predict outcomes are about process, ownership and what happens when something goes wrong. This guide lists those questions, grouped by what they reveal, with a note on what a good answer sounds like. ### About the work itself These establish whether they have understood your project or are describing their standard offering. | What questions do you have about our business? | Any at all. Silence here is the strongest negative signal there is | | Show me a live site at our scale | A URL, not an image; ideally not their showcase piece | | What would you do differently from our current site? | Specific observations, meaning they looked | | What is the riskiest part of this project? | An honest answer — usually content or integrations | | What is not included in this quote? | A specific list offered readily | | How long, and what drives that? | A schedule with dependencies, not a single number | ### About process These separate developers who have a repeatable way of working from those who improvise. - Where is the code stored, and will we have access from day one? - How does a change get from your machine to the live site? - Where do we review work before it goes live? - How often will we see progress, and in what form? - Who exactly will do the work, and what happens if they are unavailable? - How do you test — browsers, devices, accessibility, performance? - What do you need from us, and by when? The deployment question is the single most revealing one. An answer involving dragging files into an FTP client tells you there is no version control, no staging and no rollback. ### About what happens afterwards The period nobody asks about during the pitch and everybody cares about six months later. - Who owns the code, the domain and the hosting accounts after launch? - What support is included after launch, for how long, and what counts as a defect? - What does a small change cost afterwards, and what is the turnaround? - Do you offer maintenance, what is in it, and do we receive a report? - If we stop working together, what do we receive and how quickly? - Can another developer take this over? What documentation exists? - What third-party services will the site depend on, and who pays for them? ### Answers that should end the conversation Rare, but worth recognising immediately. | "We guarantee first-page rankings" | Nobody can; it is either ignorance or dishonesty | | "We keep the domain in our account" | It makes you a hostage | | "You do not need staging, we are careful" | Everyone is careful; that is not a process | | "We do not use version control for small sites" | No history, no rollback, no second developer | | "The price is only valid if you sign today" | Pressure tactics predict the working relationship | | "SEO is included" with no detail | Either meaningless or a separate service being implied | | "We will figure out the details as we go" | On a fixed price, this becomes your problem | Q: What is the single most useful question? A: "How does a change get from your machine to the live site?" It is answerable in one sentence by anyone competent, and the answer reveals whether version control, staging, review and rollback exist. Everything else on the process list tends to follow from it in one direction or the other. Q: Should I ask about specific technologies? A: Only where you have a genuine constraint — an existing system, a platform your team already runs. Otherwise the technology is their decision and asking about it invites an answer designed to impress. Ask what outcomes it produces: how fast, how maintainable, who else could work on it. Q: How do I check a reference properly? A: Ask about a problem rather than about satisfaction: "what went wrong, and how did they handle it?" Every project has something. A reference who cannot name anything either had a trivial project or is not being candid. Also ask whether they would use them again for a bigger project, which is a sharper question than whether they were happy. Q: Is it rude to ask about ownership and termination? A: No, and a professional supplier expects it. Both parties benefit from knowing where they stand, and the answers are short. Discomfort with these questions is itself information — it usually means the standard arrangement is less favourable to you than it should be. ## Website Accessibility: What to Fix First https://websitedevelopment.biz/guides/website-accessibility-guide Updated 2026-08-07 · Web design Accessibility work has a long checklist and a short list of things that account for most of the actual barriers. Starting with the short list gets real users onto your site quickly; starting with a full audit usually produces a document nobody actions. This guide covers what to fix first, how to test it yourself in an afternoon, and why overlay widgets are not the shortcut they are sold as. ### The fixes with the largest effect These are the barriers that stop people completing tasks entirely, rather than making them slightly harder. Fix them before anything on a longer list. - Keyboard access. Every interactive element reachable with Tab and operable with Enter or Space, in a sensible order, with a visible focus ring. If you can only use the site with a mouse, nothing else on this list matters. - Text alternatives. Meaningful alt text on images that carry information; empty alt on decorative ones. A missing alt is not the same as an empty one. - Form labels. A real