| ▶ | Fas 1: Lovable (vibe code) | Pågår - granskning aktiv |
| ▶ | Fas 2: Egen server med SSR | Väntar på att fas 1 är redo |
| ▶ | Fas 3: Go-live (psauction.se) | Ej påbörjad |
Redo att gå vidare till fas 2? - Nej, 5 kritiska blockerare kvarstår
F35, F40, F41, F49 och F50 måste lösas i Lovable-miljön innan flytt till SSR-stage är meningsfull. Se fliken Kritiska för detaljer.
Denna rapport är en teknisk SEO-granskning inför migreringen av psauction.se till en ny plattform. Sajten byggs just nu i Lovable och ska därefter flyttas till en egen server med SSR (Server-Side Rendering) innan den går live. Granskningen genomförs av Viva Media på uppdrag av PS Auction.
Rapporten täcker perioden 4-24 mars 2026 och baseras på:
Fynden är indelade i tre kategorier:
Granskningen har hittills identifierat 65 fynd totalt, varav 18 är åtgärdade. De 5 kvarstående kritiska fynden måste lösas i Lovable-miljön innan flytt till SSR-stage:
<button> istället för <a> - 141 sidor osynliga för GooglebotKategoristruktur: 16 av 17 huvudkategorier matchar live. Outlet-kategorin saknas men förväntas genereras automatiskt med riktig data.
| Fynd-ID | Titel | Allvarlighet | Status | Metod |
|---|---|---|---|---|
| F35 | Motstridiga meta robots-taggar | Kritisk | Öppen | SF-crawl + Chrome |
| F40 | Sitemap URL-mismatch | Kritisk | Öppen | SF-crawl |
| F41 | Brutna sidor soft 404 | Kritisk | Öppen | Chrome-test |
| F49 | Button-tagg för underkategorier | Kritisk | Öppen | SF-crawl + Chrome |
| F50 | SPA meta-taggar uppdateras ej | Kritisk | Öppen | Chrome toggle-test |
Kategori: robots | Påverkan: Site-wide
Förbättrat från 3→2 meta robots-taggar, men fortfarande motstridiga:
noindex, nofollowindex, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1Gäller: startsida, kategorisidor, objektsidor, auktionssidor, filter-sidor, auctions-listing. Undantag: brutna sidor (soft 404) har bara 1 tag.
Åtgärd: Säkerställ att exakt ett meta robots-element per sida, med avsänd direktiv.
Kategori: sitemap | Påverkan: Alla sidor via sitemap
Stage-sitemap har multipla problem:
/sok?kategori=bygg - existerar ej i routing (rätt: /search/typ=bygg)/sok, /auktioner, /salj, /hallbarhet/auth, /registrera, /favoriterÅtgärd: Komplett omskrivning av sitemap med dynamisk generering baserad på faktisk routing och datainnhåll.
Kategori: indexering | Påverkan: Auktions- och objektsidor med ogiltiga IDs
Sidor med ogiltiga IDs returnerar HTTP 200 + “Auktion/Objekt hittades inte”-meddelande (soft 404). Titeln faller tillbaka till generisk default. Canonical och meta description saknas.
Testad:
/auction/65119/millenium-golv-ab-i-konkurs → “Auktion hittades inte”/auction/44701/ukr-power-soutce-ab-i-konkurs → “Auktion hittades inte”/item/view/6498995/makita-borrhammare-hr2630 → “Objekt hittades inte”Åtgärd: Returnera HTTP 404 (inte 200) på ogiltiga IDs. Alternativt redirect till /auctions resp. parent-kategori.
Kategori: rendering/crawlability | Påverkan: ~141 underkategorisidor
På stage renderas underkategorier som <button>-element. På live som <a>-taggar med href. Googlebot kan följa <a> men INTE klicka på <button>. Konsekvens: 141 sidor osynliga för crawlers.
SF-data: Stage 0 underkategorier, Live 141 underkategorier.
Beteendeskillnad vid multi-val:
| Scenario | Live | Stage |
|---|---|---|
| Klick på underkategori | <a> → navigerar (single-select) |
<button> → navigerar (multi-select) |
| YTTERLIGARE klick | ERSÄTTER till ny sida | LÄGGER TILL filter ?filter= |
Dessutom: filter-parametern URL-encodes kommatecken som %2C istället för ren ,.
Åtgärd: Ändra button till <a> med href. Beslut: behåll multi-select eller matcha live?
Kategori: rendering/SEO | Påverkan: Alla kategori- och underkategorisidor vid SPA-navigation
Vid SPA-navigation (klick på underkategori-knappar) uppdateras URL:en korrekt via History API, men meta-taggarna i <head> hänger kvar från föregående tillstånd:
Vid full page reload renderas alla element korrekt. Problemet uppstår alltså BARA vid client-side navigation.
Åtgärd: Säkerställ att React-komponentens useEffect / useHead uppdaterar alla meta-element vid varje route-ändring.
Fynd F42-F50, identifierade 2026-03-24 via SF-crawl och Chrome-verifiering.
Kategori: accessibility/struktur | Påverkan: Alla objektsidor
Objektsidor renderar produktnamnet som H1 två gånger. Exempelvis visar /item/view/1503131/milwaukee-batteri-m18-5-0 H1 “Milwaukee batteri M18 5,0” dubbelt. Bör vara exakt en H1 per sida.
Åtgärd: Ta bort duplikat H1-element i objektsidans template.
Kategori: accessibility/struktur | Påverkan: Auktions-listningssida
Auktions-listningssidan (/auctions) saknar H1-element helt. Title-taggen säger “Aktuella auktioner | PS Auction” men detta reflekteras inte i en H1 på sidan.
Åtgärd: Lägg till H1 “Aktuella auktioner” (eller liknande) på sidan.
Kategori: säkerhet/test-setup | Påverkan: Stage-miljö
Stage-miljön (ps-seo-aio-beta.lovable.app) är lösenordsskyddad (lösenord ps2025). robots.txt blockerar crawlers (Disallow: /). Båda skydden fungerar som avsett under testperioden.
Kategori: migrering/content | Påverkan: ~20+ informationssidor
Live-sajten har 218+ unika interna sidor inlänkade. Stage har bara 24. Köpinformation, säljinfo, om oss, kundservice, nyheter saknas helt eller visar bara “Sidan förbereds”. Om dessa inte migreras: intern länk-equity förloras, indexed URLs 404:ar, användarflöden bryts.
Åtgärd: Inventera alla content-sidor på live, bestäm vilka som ska migreras, byggas om, eller redirectas. Prioritet: köpflöde + kundservice.
Kategori: migrering/routing | Påverkan: Säljsida
Stage har två separata URL:er för säljsidan: /salja (i navigationen) och /salj (i footer). Bör konsolideras till en path med redirect från den andra.
Åtgärd: Välj en kanonisk sökväg och redirect den andra.
Kategori: migrering/routing | Påverkan: ~5-10 informationssidor
Flera informationssidor har nya URL-paths på stage som inte matchar live-strukturen:
| Live path | Stage path | Kommentar |
|---|---|---|
/anbud |
/artiklar/anbud |
Ny mapphierarki |
/kundservice/ps-kontakt |
/artiklar/kontakt |
Nytt namn + mapp |
/kopa/frakt-export |
/kopa/leverans |
Nytt sidnamn |
/salja/salj-med-ps |
/salja |
Konsoliderat |
/om-oss/iso-certifieringar |
(saknas) | Ej byggd än |
/finansiering |
(saknas) | Ej byggd än |
Åtgärd: Beslut krävs - antingen matcha live-paths eller planera redirect-mappning.
Kategori: migrering/content | Påverkan: 1 kategori
Live har kategorin /search/typ=outlet. Denna saknas helt på stage. Troligen löser sig med riktig data i stage-fasen.
(Se Kritiska-tabben för fullständig beskrivning.)
(Se Kritiska-tabben för fullständig beskrivning.)
Förbättringsåtgärder som tar sajten förbi nuvarande live-nivå - framför allt strukturerad data (schema.org) och GEO (Generative Engine Optimization). Dessa är inte blockerare för migreringen, men höjer sajtens synlighet och kvalitet avsevärt.
llms.txt-filen har encoding-problem som kan påverka AI-crawlers.
Site-wide Organization-schema saknas helt. Bör bestå av namn, logo, kontakt och adress.
WebSite-schema med SearchAction för att stöd sitelink search boxes saknas.
FAQ-schema fanns men var tom. Löst genom att ta bort den.
Objektsidor saknar Product och Offer-schema helt. Kritisk för e-commerce search results.
Auktionssidor saknar Event-schema helt. Kritisk för att visa auktions-tider i search results.
Kategorisidor visar listor av produkter men saknar ItemList-schema.
Breadcrumb-struktur finns i DOM men saknar schema.org markup. Partiell fix genomförd.
Informationssidor skulle kunna använda citerbara faktablock men börjar inte.
Hreflang + location-hints för regional SEO är delvis implementerat.
Meta descriptions kunde innehålla relevanta volymsiffror för SEO-kraft.
HowTo-schema finns bara på startsidan men inte på info-sidor där det skulle passa.
| Metrik | Live | Stage | Status |
|---|---|---|---|
| HTML-sidor crawlade (SF) | 262 | 245 | Mismatch - se F40 |
| Underkategorisidor | 141 | 0 | Button-problem - se F49 |
| Huvudkategorier | 17 | 16 | Outlet saknas (F48) |
| HTTP 200 responses | 262 | 245 | Match (subset) |
| Soft 404s (HTTP 200 + not found) | 0 | Flera | Problem - se F41 |
| Live-kategori | Stage-motsvarighet | Status |
|---|---|---|
| Bygg | /search/typ=bygg | ✓ Match |
| Elektronik | /search/typ=elektronik | ✓ Match |
| Fastighet | /search/typ=fastighet | ✓ Match |
| Fordon | /search/typ=fordon | ✓ Match |
| HRF (Hotell, Restaurang, Food) | /search/typ=hrf | ✓ Match |
| Industri | /search/typ=industri | ✓ Match |
| Jordbruk | /search/typ=jordbruk | ✓ Match |
| Kontor | /search/typ=kontor | ✓ Match |
| Maskiner | /search/typ=maskiner | ✓ Match |
| Medicinsk | /search/typ=medicinsk | ✓ Match |
| Möbler | /search/typ=mobler | ✓ Match |
| Outlet | /search/typ=outlet | ✕ Saknas |
| Råmaterial | /search/typ=ramaterial | ✓ Match |
| Städ | /search/typ=stad | ✓ Match |
| Transport | /search/typ=transport | ✓ Match |
| Tryckeri | /search/typ=tryckeri | ✓ Match |
| Övrigt | /search/typ=ovrigt | ✓ Match |
Sammanfattning: 16 av 17 huvudkategorier matchar korrekt. Outlet-kategorin saknas men förväntas genereras automatiskt vid stage med riktig data. Ingen 301-redirect krävs för kategorierna.
Fynd som har lösts, stängts eller bekräftats som avsiktliga.
| ID | Titel | Allvarlighet | Åtgärdsdatum / Status |
|---|---|---|---|
| F02 | Sitemap.xml innehåll | Medel | Ersatt av F40 |
| F03 | robots.txt konfiguration | Medel | Ersatt av F37 |
| F11 | Canonical #-bug | Medel | Falskt positivt |
| F12 | Multi-filter canonical | Medel | Avsiktligt |
| F15 | Title-duplicering | Medel | 2026-03-17 |
| F16 | Canonical på objekt/auktionssidor | Hög | 2026-03-24 |
| F19 | Objekt-URL-struktur identisk | Låg | Verifierad |
| F20 | URL-format auktionssidor | Kritisk | 2026-03-17 |
| F21 | Stage auktionssidor renderar ej data | Kritisk | 2026-03-17 |
| F22 | noindex auktionssidor live | Kritisk | Avsiktligt |
| F25 | Paginering &sida=N | Medel | 2026-03-17 |
| F27 | Objekt-URL-struktur live | Låg | Verifierad |
| F28 | Stage OG:title generisk | Medel | 2026-03-17 |
| F30 | Stage auktions-URL-paradigm | Kritisk | 2026-03-17 |
| F32 | FAQ-schema parse error | Medel | 2026-03-17 |
| F33 | Dubbla meta descriptions | Medel | 2026-03-17 |
| F34 | Meta keywords dubbla | Medel | 2026-03-17 |
| F36 | Dubbla canonical-element | Hög | 2026-03-17 |
| F38 | Stage index,follow trots lösenord | Kritisk | 2026-03-17 |
| F39 | Paginering renderas ej vid klick | Medel | 2026-03-17 |
| NLF04 | FAQPage tom | Medel | 2026-03-17 |
| Datum | Händelse | Detalj |
|---|---|---|
| 2026-03-04 | Granskning påbörjad | Initial SEO-granskning av stage-miljön. Fynd F01-F10 dokumenterade. URL-struktur för kategorisidor bekräftad identisk med live. |
| 2026-03-10 | Kundmöte + F35 upptäckt | Möte med PS Auction. Beslut: bygga rätt långsiktigt, inte replikera problematisk live-struktur. F23-F38 dokumenterade. GEO-analys körd. Next Level-fynd NLF01-NLF11 identifierade. |
| 2026-03-13 | Mejl från David Benisty | PS Auction bekräftar att åtgärder genomförts på stage baserat på vår första granskning. |
| 2026-03-17 | Uppföljningsverifiering | 13 fynd bekräftade åtgärdade (F15, F16, F20, F21, F25, F28, F30, F32-F34, F36, F38-F39). F35 kvarstår. F40 ny (sitemap). Rapport genererad. |
| 2026-03-18 | SF-crawl + mejlutkast till kund | Screaming Frog JS-crawl av stage (129 URL:er). F35 uppgraderad (tredubbla robots-taggar). F41 ny (soft 404). Mejlutkast till David Benisty skapat med 4 kritiska åtgärdspunkter. |
| 2026-03-24 | Komplett verifiering + 9 nya fynd | SF-crawl av stage (265 URL:er) + live (526 URL:er). Chrome-verifiering. Side-by-side live vs stage. F42-F50 dokumenterade. F49 och F50 är de två nya kritiska blockerarna. |
Påverkan av fynden per sidtyp.
| Sidtyp | Antal (stage) | Kritiska fynd | Förfallostatus |
|---|---|---|---|
| Kategorisidor (huvud) | 16 | F35, F49, F50 | 🔴 Blocking |
| Underkategorisidor | 0 (ska vara 141) | F49 (button-problem) | 🔴 Critical |
| Auktionssidor | ~140 | F35, F41 | 🔴 Blocking |
| Objektsidor | ~100 | F35, F41 | 🔴 Blocking |
| Informationssidor | ~10 | F47 (path-mismatch) | 🟠 High |
| Startsida | 1 | F35 | 🔴 Critical |
Fullständig verifieringstabell - alla fynd med metod, status och verifieringsdatum.
| Fynd-ID | Titel | Allvarlighet | Verifieringsmetod | Status | Verifierad |
|---|---|---|---|---|---|
| F35 | Motstridiga meta robots | 🔴 Kritisk | SF-crawl + Chrome | Öppen | 2026-03-24 |
| F40 | Sitemap URL-mismatch | 🔴 Kritisk | SF-crawl | Öppen | 2026-03-24 |
| F41 | Soft 404 på auktionssidor | 🔴 Kritisk | Chrome-test | Öppen | 2026-03-24 |
| F42 | Dubbel H1 på objektsidor | 🟡 Medel | Chrome-inspektion | Öppen | 2026-03-24 |
| F43 | /auctions saknar H1 | 🟡 Medel | Chrome-inspektion | Öppen | 2026-03-24 |
| F44 | Lösenordsskydd bekräftat aktivt | 🟢 Låg | Chrome-test | OK | 2026-03-24 |
| F45 | Content gap (~20+ sidor saknas) | 🔴 Kritisk | Side-by-side live vs stage | Öppen | 2026-03-24 |
| F46 | Dubbel /salj och /salja | 🟡 Medel | Chrome-navigering | Öppen | 2026-03-24 |
| F47 | Info-sidor path-mismatch | 🟠 Hög | SF-crawl + manual jämförelse | Öppen | 2026-03-24 |
| F48 | Outlet-kategori saknas | 🟢 Låg | SF-crawl | Öppen (väntar på data) | 2026-03-24 |
| F49 | Button istället för <a> | 🔴 Kritisk | SF-crawl + Chrome rendertest | Öppen | 2026-03-24 |
| F50 | SPA meta hänger kvar | 🔴 Kritisk | Chrome toggle-test | Öppen | 2026-03-24 |
Metod-förklaringar: