<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:xhtml="http://www.w3.org/1999/xhtml"><channel><title>Straffe Sites — Insights</title><description>Practical articles about websites, web development, SEO, content and AI for independent professionals and small businesses.</description><link>https://straffesites.com</link><language>en</language><item><title>Outsourcing online marketing: when does it pay off?</title><link>https://straffesites.com/en/blog/outsourcing-online-marketing</link><guid isPermaLink="true">https://straffesites.com/en/blog/outsourcing-online-marketing</guid><description>Outsource your online marketing or do it yourself? Which tasks to hand off, which to keep in-house and how to vet an agency or freelancer, without guesswork.</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/outsourcing-online-marketing"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/online-marketing-uitbesteden"/></item><item><title>Hiring someone to build an AI agent: what to look for</title><link>https://straffesites.com/en/blog/hiring-someone-to-build-an-ai-agent</link><guid isPermaLink="true">https://straffesites.com/en/blog/hiring-someone-to-build-an-ai-agent</guid><description>Thinking about hiring an AI agent builder? Learn when an agent pays off, which permissions and rules to define first, and how to pick a partner.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/hiring-someone-to-build-an-ai-agent"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/ai-agent-laten-bouwen"/></item><item><title>Implementing AI in your business: training, guidance, or outsourcing?</title><link>https://straffesites.com/en/blog/implementing-ai-in-your-business</link><guid isPermaLink="true">https://straffesites.com/en/blog/implementing-ai-in-your-business</guid><description>Bringing AI into your company? Compare training, guided adoption, and done-for-you setups, and pick the approach that fits your people, time, and first workflow.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/implementing-ai-in-your-business"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/ai-in-je-bedrijf-invoeren"/></item><item><title>What does an online store cost in 2026?</title><link>https://straffesites.com/en/blog/ecommerce-website-cost</link><guid isPermaLink="true">https://straffesites.com/en/blog/ecommerce-website-cost</guid><description>What does an online store cost? No fixed amount, but hard numbers: 74% of agencies charge $5,000–$50,000, hourly rates €75–€84 (GoodFirms, Knab, UNIZO).</description><pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/ecommerce-website-cost"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/wat-kost-een-webshop-laten-maken"/></item><item><title>Website development costs: what does a website cost in 2026?</title><link>https://straffesites.com/en/blog/website-development-costs</link><guid isPermaLink="true">https://straffesites.com/en/blog/website-development-costs</guid><description>What does a website cost in 2026? Freelancers €84 per hour (UNIZO 2025), agencies $1,000–$15,000 per project. Compare approaches and quotes in this guide.</description><pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/website-development-costs"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/wat-kost-een-website-laten-maken"/></item><item><title>Integrate Prettier with Astro and Tailwind CSS</title><link>https://straffesites.com/en/blog/integrate-prettier-astro-tailwindcss</link><guid isPermaLink="true">https://straffesites.com/en/blog/integrate-prettier-astro-tailwindcss</guid><description>Set up prettier-plugin-astro and prettier-plugin-tailwindcss with Tailwind 4, run Prettier in CI, and fix the Tailwind plugin when classes stop sorting.</description><pubDate>Sun, 04 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Generate localized sitemaps for your Astro and Storyblok project</title><link>https://straffesites.com/en/blog/localized-sitemap-astro-storyblok</link><guid isPermaLink="true">https://straffesites.com/en/blog/localized-sitemap-astro-storyblok</guid><description>Set up @astrojs/sitemap in Astro, fix an empty sitemap, then add a per-language endpoint with hreflang from Storyblok when translated slugs differ.</description><pubDate>Sun, 04 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Benchmark: how fast are the web agencies on page 1?</title><link>https://straffesites.com/en/blog/website-builders-benchmark</link><guid isPermaLink="true">https://straffesites.com/en/blog/website-builders-benchmark</guid><description>Every month, we measure PageSpeed scores for web agencies on page 1 for &apos;website laten maken&apos; in Belgium and the Netherlands, with our site as a reference.</description><pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/website-builders-benchmark"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/websitebouwers-benchmark"/></item><item><title>How to find the SEO keywords of a website: 6 clear steps</title><link>https://straffesites.com/en/blog/how-to-search-for-keywords</link><guid isPermaLink="true">https://straffesites.com/en/blog/how-to-search-for-keywords</guid><description>Find the SEO keywords of any website in 6 steps: Search Console, the site: search operator, and free keyword tools — then pick one primary keyword per page.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/how-to-search-for-keywords"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/zoekwoordenonderzoek"/></item><item><title>Simple website: when less is more</title><link>https://straffesites.com/en/blog/simple-website</link><guid isPermaLink="true">https://straffesites.com/en/blog/simple-website</guid><description>Choosing a simple website is a design decision, not just a budget decision. Learn when a small site is enough and when your business needs more.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/simple-website"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/eenvoudige-website-laten-maken"/></item><item><title>Web designer or web developer: who do you need for your website?</title><link>https://straffesites.com/en/blog/web-designer-or-web-developer</link><guid isPermaLink="true">https://straffesites.com/en/blog/web-designer-or-web-developer</guid><description>Web designer or web developer? Learn what each role does, when you need which one, and why a complete site usually asks for both competencies.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/web-designer-or-web-developer"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/webdesigner-of-webdeveloper"/></item><item><title>WordPress maintenance: what it involves and what it costs</title><link>https://straffesites.com/en/blog/wordpress-maintenance</link><guid isPermaLink="true">https://straffesites.com/en/blog/wordpress-maintenance</guid><description>WordPress maintenance covers updates, backups, and security. See what you can do yourself, what it costs, and when outsourcing makes sense.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/wordpress-maintenance"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/wordpress-onderhoud"/></item><item><title>How much does SEO cost in 2026?</title><link>https://straffesites.com/en/blog/seo-costs</link><guid isPermaLink="true">https://straffesites.com/en/blog/seo-costs</guid><description>How much does SEO cost in 2026? Freelancers average $1,349/month, agencies $3,209 (Ahrefs, 439 providers). Dutch freelance median: €70/hour. Sources included.</description><pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/seo-costs"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/wat-kost-seo"/></item><item><title>Ranking higher on Google: improve your website step by step</title><link>https://straffesites.com/en/blog/higher-search-engine-rankings</link><guid isPermaLink="true">https://straffesites.com/en/blog/higher-search-engine-rankings</guid><description>How do you rank higher on Google? Search intent, content, technical work and measurement, with our own Search Console numbers and cited research.</description><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/higher-search-engine-rankings"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/hoger-in-google"/></item><item><title>A guide to proper semantic markup for blog posts</title><link>https://straffesites.com/en/blog/a-guide-to-semantics-for-blog-posts</link><guid isPermaLink="true">https://straffesites.com/en/blog/a-guide-to-semantics-for-blog-posts</guid><description>Semantic markup for SEO: copy-paste HTML and JSON-LD examples covering heading hierarchy, alt text, time and address elements, and valid BlogPosting schema.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/a-guide-to-semantics-for-blog-posts"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/een-gids-voor-juiste-semantische-opmaak-blogposts"/></item><item><title>Automating SEO with AI: build a self-improving loop</title><link>https://straffesites.com/en/blog/automating-seo-with-ai</link><guid isPermaLink="true">https://straffesites.com/en/blog/automating-seo-with-ai</guid><description>Connect an AI agent to Google Search Console with gcloud and let it tune your pages to real search intent every 30 days. Here is how the loop works.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/automating-seo-with-ai"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/seo-automatiseren-met-ai"/></item><item><title>The ideal blog post structure in 7 steps</title><link>https://straffesites.com/en/blog/blog-post-structure-tips</link><guid isPermaLink="true">https://straffesites.com/en/blog/blog-post-structure-tips</guid><description>How to structure a blog post that reads well and ranks: use a clear title, introduction, subheadings, conclusion, and FAQ, with examples and a checklist.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/blog-post-structure-tips"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/blogpost-structuur-tips"/></item><item><title>Writing copy with AI: from loose prompts to text that sounds like your business</title><link>https://straffesites.com/en/blog/content-writing-ai</link><guid isPermaLink="true">https://straffesites.com/en/blog/content-writing-ai</guid><description>Writing copy with AI? Turn loose prompts into website copy with a recognizable brand voice, using a practical workflow with human checks.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/content-writing-ai"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/webteksten-schrijven-met-ai"/></item><item><title>How to set up Google Search Console: a step-by-step guide</title><link>https://straffesites.com/en/blog/google-search-console</link><guid isPermaLink="true">https://straffesites.com/en/blog/google-search-console</guid><description>Set up Google Search Console in 3 steps: sign in, add a property, and verify ownership. Then run the first checks and see how I use the data.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/google-search-console"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/google-search-console-instellen"/></item><item><title>Writing a blog with AI: the complete workflow from brief to measurement</title><link>https://straffesites.com/en/blog/optimize-your-blog-with-chatgpt</link><guid isPermaLink="true">https://straffesites.com/en/blog/optimize-your-blog-with-chatgpt</guid><description>Writing a blog with AI? Follow the full workflow for topic choice, briefing, drafting, metadata, publishing, and measurement, with clear checks at every step.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/optimize-your-blog-with-chatgpt"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/optimaliseer-je-blog-met-chatgpt"/></item><item><title>What is a headless CMS, and what are its benefits?</title><link>https://straffesites.com/en/blog/what-is-a-headless-cms</link><guid isPermaLink="true">https://straffesites.com/en/blog/what-is-a-headless-cms</guid><description>A headless CMS separates content from presentation and gives developers control over performance and delivery. See how it works and whether it fits your website.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/what-is-a-headless-cms"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/wat-is-een-headless-cms"/></item><item><title>MCP servers for CMS systems: AI agents in your CMS</title><link>https://straffesites.com/en/blog/mcp-servers-for-cms</link><guid isPermaLink="true">https://straffesites.com/en/blog/mcp-servers-for-cms</guid><description>MCP servers let AI agents work in your CMS. See a real Storyblok draft repair, how permissions and readback work, and where human review still matters.</description><pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/mcp-servers-for-cms"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/mcp-servers-cms-systemen"/></item><item><title>A website without a CMS: Astro Content Collections in practice</title><link>https://straffesites.com/en/blog/website-without-cms</link><guid isPermaLink="true">https://straffesites.com/en/blog/website-without-cms</guid><description>Building a website without a CMS? See how I use Astro Content Collections, MDX and JSON in Git, and when a CMS is still the better choice.</description><pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/website-without-cms"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/website-zonder-cms"/></item><item><title>How small agencies compete with big rivals in Google</title><link>https://straffesites.com/en/blog/small-agency-big-competitors</link><guid isPermaLink="true">https://straffesites.com/en/blog/small-agency-big-competitors</guid><description>An agency with DA 15 ranks just below a hosting giant with DA 70. Our study of 19 web agencies explores what smaller competitors have in common.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/small-agency-big-competitors"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/klein-bureau-grote-concurrenten-verslaan"/></item><item><title>Lab vs field: what your PageSpeed score does and doesn&apos;t say</title><link>https://straffesites.com/en/blog/lab-vs-field-pagespeed</link><guid isPermaLink="true">https://straffesites.com/en/blog/lab-vs-field-pagespeed</guid><description>Our study of 19 web agencies found lab LCP up to 16.7x the CrUX LCP (p75) where field data was available. Learn what each measurement tells you.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/lab-vs-field-pagespeed"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/lab-vs-praktijk-pagespeed"/></item><item><title>Why slow websites rank high in Google</title><link>https://straffesites.com/en/blog/why-slow-websites-rank-high</link><guid isPermaLink="true">https://straffesites.com/en/blog/why-slow-websites-rank-high</guid><description>The top-ranked agencies in our 19-site study have low PageSpeed scores. We compare lab tests, CrUX field data, and link profiles to understand the gap.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/why-slow-websites-rank-high"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/waarom-trage-websites-hoog-ranken"/></item><item><title>Switching to Storyblok: a migration guide</title><link>https://straffesites.com/en/blog/switching-to-storyblok</link><guid isPermaLink="true">https://straffesites.com/en/blog/switching-to-storyblok</guid><description>A practical guide to switching to Storyblok: migration paths from WordPress, SaaS builders and hard-coded sites, SEO preservation, pitfalls and when to hire help.</description><pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Hire an Astro developer: what to look for</title><link>https://straffesites.com/en/blog/hire-an-astro-developer</link><guid isPermaLink="true">https://straffesites.com/en/blog/hire-an-astro-developer</guid><description>Hiring an Astro developer? Check live Astro projects, island architecture, and a baseline performance audit. Here are the questions to ask before you sign.</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Astro vs. Next.js: which framework fits your website?</title><link>https://straffesites.com/en/blog/astro-vs-next-js</link><guid isPermaLink="true">https://straffesites.com/en/blog/astro-vs-next-js</guid><description>Astro or Next.js? Compare architecture, use cases and real Core Web Vitals data: 69.8% of Astro origins pass, compared with 33.9% for Next.js.</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/astro-vs-next-js"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/astro-vs-next-js"/></item><item><title>Building a headless website: when it pays off (and when it doesn&apos;t)</title><link>https://straffesites.com/en/blog/headless-website-project</link><guid isPermaLink="true">https://straffesites.com/en/blog/headless-website-project</guid><description>When does commissioning a headless website pay off, and when does it not? An honest decision guide about your team, your content and the migration.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/headless-website-project"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/headless-website-laten-maken"/></item><item><title>Hire a web developer: what to look for</title><link>https://straffesites.com/en/blog/hire-web-developer</link><guid isPermaLink="true">https://straffesites.com/en/blog/hire-web-developer</guid><description>Want to hire a web developer for a project? What to check: portfolio, code quality, references and support after launch — plus the questions to ask first.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/hire-web-developer"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/webdeveloper-gezocht"/></item><item><title>Website maintenance: what it is and what it gets you</title><link>https://straffesites.com/en/blog/outsourcing-website-maintenance</link><guid isPermaLink="true">https://straffesites.com/en/blog/outsourcing-website-maintenance</guid><description>What does maintaining a website actually involve, when should you hand it to a specialist, and what does it earn your business? An honest overview, no sales pitch.</description><pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/outsourcing-website-maintenance"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/website-laten-onderhouden"/></item><item><title>Website performance: improve your site speed in 9 clear steps</title><link>https://straffesites.com/en/blog/website-performance</link><guid isPermaLink="true">https://straffesites.com/en/blog/website-performance</guid><description>A practical guide to making a slow website faster, with a repeatable sequence for measuring, fixing, and checking performance again.</description><pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/website-performance"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/laadtijd-website"/></item><item><title>Setting up an Astro project with Svelte, Tailwind CSS, Vercel, Prettier, and TypeScript</title><link>https://straffesites.com/en/blog/astro-setup-svelte-tailwindcss-vercel-prettier-typescript</link><guid isPermaLink="true">https://straffesites.com/en/blog/astro-setup-svelte-tailwindcss-vercel-prettier-typescript</guid><description>Set up Astro with Svelte, Tailwind CSS, Vercel, Prettier, and strict TypeScript, including the configuration files that tie the stack together.</description><pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Add an RSS feed to Astro with Storyblok stories</title><link>https://straffesites.com/en/blog/rss-feed-astro-storyblok</link><guid isPermaLink="true">https://straffesites.com/en/blog/rss-feed-astro-storyblok</guid><description>Generate an Astro RSS feed from Storyblok stories with one shared client, an rss.xml endpoint and a browser-friendly stylesheet.</description><pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Minifying Astro HTML after the build: how the script works</title><link>https://straffesites.com/en/blog/optimize-astro-html-post-build</link><guid isPermaLink="true">https://straffesites.com/en/blog/optimize-astro-html-post-build</guid><description>A ready-to-use Node script that shrinks your Astro build and adds heading anchors, with measured results, common pitfalls, and an astro:build:done alternative.</description><pubDate>Tue, 25 Aug 2026 00:00:00 GMT</pubDate><xhtml:link rel="alternate" hreflang="en" href="https://straffesites.com/en/blog/optimize-astro-html-post-build"/><xhtml:link rel="alternate" hreflang="nl" href="https://straffesites.com/blog/optimaliseer-astro-html-na-het-bouwproces"/></item></channel></rss>