Technical SEO Services: Audits, Schema & Local SEO

Technical SEO services make sure search engines can crawl, render, understand and trust your website before a single word of content is judged. You can publish excellent articles and product pages, but if Google wastes its crawl on filter URLs, picks the wrong canonical, cannot render your JavaScript or sees a slow, unstable page, that content will never rank the way it deserves.

At CodeWiz we approach SEO as developers. We audit how your site is built and served, fix the problems in code, templates and server configuration rather than writing a list of recommendations nobody implements, add structured data that earns rich results, improve Core Web Vitals and set up local SEO for businesses that serve a specific city or region. Because we build and host websites ourselves, the fixes land where they need to: in the theme, the framework, the CMS, the CDN and the server.

This service is for online stores with thousands of product and filter URLs, companies planning a redesign or platform migration, multilingual sites targeting several countries, JavaScript-heavy applications built with React, Vue or Next.js, and local businesses that want to appear in the map results when nearby customers search.

Technical SEO: Wooden library card catalog with rows of labeled drawers

Technical SEO Audits: Crawling, Rendering and Indexing

A technical SEO audit answers three questions: can search engines reach every important page, can they render it correctly, and do they choose to index the right version of it? We answer them with data from several sources rather than a single automated score.

What we check

  • Full crawl with Screaming Frog or Sitebulb: status codes, redirect chains, broken internal links, orphan pages, click depth, duplicate titles and descriptions, and thin or near-duplicate pages.
  • Search Console page indexing and crawl stats reports, to see which URLs Google discovered but did not index – and why.
  • Server log analysis to see what Googlebot actually requests. Logs often reveal crawl activity wasted on parameters, old URLs or internal search results.
  • Rendering: comparing raw HTML with the rendered DOM, so content and links that exist only after JavaScript runs are not missed.
  • Canonicals, hreflang, robots.txt, meta robots and XML sitemaps, checked for conflicts – for example a canonical pointing to a noindexed page, or a sitemap full of redirects.
  • Faceted navigation and pagination, which on e-commerce sites can generate millions of crawlable combinations from a few hundred products.

Choosing the right indexing control

Many indexing problems come from using the wrong tool for the job. This is the cheat sheet we apply in audits:

ControlWhat it doesUse it forDo not use it for
robots.txt DisallowStops crawling, not indexingInfinite filter combinations, internal search, staging pathsRemoving pages from the index – Google can index a blocked URL without its content
noindex (meta or X-Robots-Tag)Keeps a crawlable page out of the indexThank-you pages, thin filter pages, PDFs via HTTP headerPages blocked in robots.txt – Google never sees the tag
rel="canonical"Suggests the preferred URL among duplicates (a hint, not a directive)Tracking parameters, products listed in several categoriesPages with genuinely different content, or as a replacement for redirects
301 redirectMoves a URL permanently and consolidates signalsMigrations, changed slugs, HTTP to HTTPS, www consolidationTemporary changes such as maintenance or A/B tests
410 GoneSignals deliberate, permanent removalDiscontinued products and content with no replacementOut-of-stock products that will return

The deliverable is a prioritized issue list with the affected URLs, the business impact and the exact fix – and, if you want, we implement those fixes ourselves. Google’s Search Central documentation is our baseline for what search engines officially support.

Schema Markup and Structured Data

Schema markup describes your content in a machine-readable vocabulary from schema.org, so search engines know that a page is a product with a price and availability, an article with an author and date, or a local business with opening hours. Correct structured data makes pages eligible for rich results – product snippets with price and stock, breadcrumbs, review stars, event details – that take more space in the results and attract more clicks.

Types we implement most often

  • Organization and WebSite for brand information, logo and social profiles.
  • LocalBusiness (or a more specific subtype) with address, coordinates, opening hours and area served.
  • Product, Offer and AggregateRating for online stores, plus shipping and return policy details where supported.
  • Article and BreadcrumbList for blogs, news and documentation.
  • Event, JobPosting, SoftwareApplication and Course where the content genuinely fits.

We use JSON-LD, Google’s recommended format, generated from your real data instead of hard-coded. A minimal LocalBusiness block, placed in a script element of type application/ld+json, looks like this:

{ "@context": "https://schema.org", "@type": "LocalBusiness", "name": "Example Bakery", "url": "https://example.com/", "telephone": "+387 51 000 000", "address": { "@type": "PostalAddress", "streetAddress": "Example Street 1", "addressLocality": "Banja Luka", "postalCode": "78000", "addressCountry": "BA" }, "geo": { "@type": "GeoCoordinates", "latitude": 44.77, "longitude": 17.19 }, "openingHours": "Mo-Sa 07:00-20:00" }

Rules we follow

  • Markup must match visible content. Marking up reviews, prices or FAQs that users cannot see risks a manual action.
  • We follow current eligibility rules: since 2023 Google shows FAQ rich results only for a small set of authoritative government and health sites, and HowTo rich results have been retired, so we do not sell them as a quick win.
  • Every template is validated with Google’s Rich Results Test and the Schema Markup Validator, then monitored in Search Console’s enhancement reports.
  • In WordPress we extend what Yoast or Rank Math generate rather than duplicating it; in Laravel and Node.js we generate JSON-LD from the same models that render the page.
Laptop on a desk displaying several analytics charts and graphs

Core Web Vitals and Page Experience for SEO

Core Web Vitals are Google’s metrics for real-user experience: Largest Contentful Paint (loading), Interaction to Next Paint (responsiveness, which replaced First Input Delay in March 2024) and Cumulative Layout Shift (visual stability). Google uses them in its ranking systems as part of page experience. They will not lift weak content above strong content, but when competing pages are similarly relevant, a fast and stable page has an edge – and it converts the traffic it gets far better.

How we approach Core Web Vitals in SEO projects

  • We start with field data from the Search Console Core Web Vitals report and CrUX, because rankings use real-user data at the 75th percentile, not a one-off Lighthouse score.
  • We group failing URLs by template – product page, category, article – because one fix in a template usually repairs thousands of URLs at once.
  • We fix the usual SEO-critical causes: hero images that load late, layout shifts from ads, banners and web fonts, and heavy third-party scripts that hurt INP.
  • We verify the result in field data over the following 28-day window, not just in the lab.

Our own site, codewizdev.com, scores 100/100/100/100 on PageSpeed Insights on mobile and desktop. We explain the techniques behind that in how CodeWiz achieves perfect 100/100 page vitals. When the bottleneck is deeper – slow servers, missing caching, heavy database queries – it becomes part of our performance optimization work.

Local SEO for Businesses That Serve a City or Region

Local SEO helps nearby customers find you when they search for “dentist near me”, “car service Banja Luka” or “web agency Sarajevo”. These searches show a map pack above the organic results, and visibility there depends on relevance, distance and prominence – signals you can influence.

What local SEO work includes

  • Google Business Profile: correct primary and secondary categories, services, opening hours, photos, regular posts and a process for asking for and answering reviews.
  • Consistent NAP data (name, address, phone) across your website, Business Profile, Apple Business Connect, Bing Places and regional business directories.
  • Location pages with genuinely local content for each branch or service area, instead of thin copies with the city name swapped.
  • LocalBusiness schema on the website that matches the Business Profile exactly.
  • Local links and mentions from chambers of commerce, partners, sponsorships and local media.

For businesses in Bosnia and Herzegovina, Serbia, Croatia and Montenegro, local SEO often overlaps with language: one text for several markets, different country domains, and customers who search in Latin script without diacritics. We plan URL structure, hreflang and content around how your customers actually search.

JavaScript SEO for React, Vue and Next.js Sites

Google can render JavaScript, but rendering is deferred, resource-intensive and fragile. If titles, canonicals, internal links or product data appear only after client-side rendering, indexing becomes slow and inconsistent – and other search engines and AI crawlers may not render JavaScript at all. We prefer server-side rendering or static generation (Next.js, Nuxt, Astro), real <a href> links instead of click handlers, unique metadata rendered on the server and proper HTTP status codes for missing pages instead of “soft 404s”. Dynamic rendering is a workaround Google no longer recommends, so we avoid building new sites around it.

International and Multilingual SEO

Multilingual sites need each language version to be discoverable and correctly paired. We implement hreflang in the HTML head, HTTP headers or XML sitemaps, always with return links and an x-default fallback:

<link rel="alternate" hreflang="en" href="https://example.com/services/" /> <link rel="alternate" hreflang="bs" href="https://example.com/bs/usluge/" /> <link rel="alternate" hreflang="x-default" href="https://example.com/services/" />

We also choose between subdirectories, subdomains and country domains, avoid automatic redirects based on IP address that hide content from crawlers, and translate slugs, titles and structured data – not just the body text.

SEO for Redesigns and Site Migrations

A redesign, a new domain or a move from one CMS to another is the most common way businesses lose organic traffic overnight. We protect rankings with a full crawl of the old site, a one-to-one redirect map for every URL that has traffic or links, preserved titles and structured data, staging environments that are blocked from indexing (and unblocked at launch), and a post-launch crawl plus Search Console monitoring during the weeks after the switch.

Measuring Technical SEO Results

We track what changes after the fixes: indexed pages versus submitted pages, crawl requests to important versus wasted URLs, Core Web Vitals pass rates, rich result impressions, and organic clicks and conversions per template in Search Console and GA4. For deeper keyword research, competitor analysis and search data strategy, see our article on advanced SEO analytics and competitive intelligence. Online stores can also find platform-specific advice in our e-commerce optimization blueprint.

Top view of a vintage compass lying on an old paper map

Common Technical SEO Mistakes We Fix

  • A staging site indexed in Google, or a live site launched with “Discourage search engines” still enabled.
  • Blocking CSS and JavaScript in robots.txt, so Google cannot render the page properly.
  • Canonical tags that all point to the homepage, or to URLs that redirect.
  • Filter and sort parameters creating endless crawlable duplicates of category pages.
  • Redesigns launched without redirects, turning years of backlinks into 404 errors.
  • Structured data copied from a plugin demo that does not match the page content.
  • Hreflang tags without return links, or pointing to redirected and noindexed URLs.

How We Work

  1. Discovery: we learn your business goals, markets and priority pages, and get access to Search Console, analytics and server logs.
  2. Audit: we crawl the site, analyze logs and rendering, and review templates, structured data, Core Web Vitals and local listings.
  3. Plan: you receive a prioritized roadmap with the impact and effort of each fix.
  4. Implement: we fix issues directly in code, templates, CMS settings, server and CDN configuration – on staging first.
  5. Validate: we re-crawl, test structured data and request reindexing for key pages.
  6. Monitor: we track indexing, rich results, Core Web Vitals and organic performance, and catch regressions after future releases.

Why CodeWiz

  • Developers, not just consultants: we implement the fixes ourselves in WordPress, Laravel, Node.js and modern JavaScript frameworks.
  • Performance built in: our own site scores 100/100/100/100 on PageSpeed Insights, and speed work is part of what we do every day.
  • The whole stack: content management, servers, Cloudflare and analytics in one team, so technical SEO issues do not fall between vendors.
  • Regional and international: based in Banja Luka, working remotely with clients locally and internationally – our own site runs in English and BHS.
  • Fair pricing: premium development without premium prices – read more about CodeWiz.

Frequently Asked Questions

How much do technical SEO services cost?

It depends on the size and complexity of the site. An audit of a small business website is a compact project; a large online store with faceted navigation, several languages and a migration ahead needs much more work. We give you a clear estimate after an initial review.

How long does it take to see results from technical SEO?

Fixes such as unblocking pages, correcting canonicals or repairing redirects can show effects within days to weeks, once Google recrawls the affected URLs. Broader improvements usually build over several months, and field data for Core Web Vitals updates over a rolling 28-day window.

What is the difference between technical SEO and on-page SEO?

Technical SEO covers how a site is built and served – crawling, indexing, rendering, speed, structured data and architecture. On-page SEO covers the content of each page – topics, headings, copy and internal links. Both are needed; technical SEO makes sure good content can be found.

Does schema markup improve rankings directly?

Structured data is not a direct ranking boost, but it helps search engines understand your content and makes pages eligible for rich results, which typically improve click-through rates. It must reflect visible content to be safe.

Can you do SEO for a website you did not build?

Yes. Technical SEO very often means working on an existing site built by another team, on WordPress, WooCommerce, Shopify, Laravel or a custom framework. We adapt fixes to your stack and can coordinate with your current developers.

Ready to Fix What Holds Your Rankings Back?

Tell us about your website, your markets and the pages that matter most, and we will find the technical issues standing between your content and the search results. Contact us to start with a technical SEO audit, or explore our SEO optimization services.