Visa original README-text
================================================================================
SEO AUDIT TOOL v1.0 — README
Ett komplett SEO-analysverktyg för teknisk + on-page analys
================================================================================
INNEHÅLL
--------
1. Krav & Installation
2. Snabbstart
3. Alla kommandoradsargument
4. Output-filer
5. Poängsystem
6. Vad analyseras
7. Felsökning
8. Exempel på urls.txt
================================================================================
1. KRAV & INSTALLATION
================================================================================
Python-version: 3.10 eller senare (rekommenderas: 3.11+)
Installera beroenden med pip:
pip install requests beautifulsoup4 lxml rich
• requests — HTTP-hämtning med retry-stöd
• beautifulsoup4 — HTML-parsning
• lxml — Snabb XML/HTML-parser (backend till BeautifulSoup)
• rich — Färgad terminaloutput (VALFRITT — fungerar utan)
Kontrollera att Python är installerat:
python --version
python -m pip --version
Om du använder Windows och får "python not found", prova:
py seo_audit.py https://example.com/
================================================================================
2. SNABBSTART
================================================================================
Analysera en enda URL:
python seo_audit.py https://billigaverktyg.se/
Analysera med anpassad utmapp:
python seo_audit.py https://billigaverktyg.se/ -o mina_rapporter/
Analysera flera URL:er från fil:
python seo_audit.py --list urls.txt -o rapporter/ --csv
Analysera via sitemap:
python seo_audit.py --sitemap https://billigaverktyg.se/sitemap.xml --limit 50
Med utökad loggning:
python seo_audit.py https://billigaverktyg.se/ --verbose
Med länkkontroll (kollar om länkar är brutna):
python seo_audit.py https://billigaverktyg.se/ --check-links
Generera om rapport från sparad JSON (ingen ny hämtning):
python seo_audit.py --json rapporter/data_billigaverktyg_se_abc123.json
================================================================================
3. ALLA KOMMANDORADSARGUMENT
================================================================================
URL-KÄLLOR (välj en eller kombinera):
url Positional — en URL direkt efter programnamnet
-u / --url-flag URL Samma som ovan men med flagga
--list / -list FILE Textfil med en URL per rad
--sitemap URL Hämta och analysera URL:er från sitemap.xml
--limit N Max antal URL:er från sitemap (standard: 100)
--json FILE Läs in sparad JSON och generera om rapporten
OUTPUT:
-o / --outdir DIR Mapp för alla output-filer (standard: seo_reports/)
--no-html Skippa HTML-rapport, spara bara JSON
--no-json Skippa JSON, spara bara HTML-rapport
--csv Exportera summary.csv med alla URL:er på en rad var
NÄTVERK:
--timeout N Timeout i sekunder per request (standard: 15)
--retries N Antal omförsök vid fel (standard: 2)
--sleep N Paus mellan requests i sekunder (standard: 0.5)
-ua / --user-agent STR Anpassad User-Agent-sträng
--respect-robots Respektera robots.txt (standard: av)
--max-bytes N Max sidstorlek i bytes (standard: 5 000 000 = 5 MB)
LÄNKKONTROLL:
--check-links Aktivera länkkontroll (gör HEAD-request på ett urval)
--max-links-check N Max antal länkar att kontrollera (standard: 30)
ÖVRIGT:
-v / --verbose Utförlig loggning i terminalen
-h / --help Visa hjälptext
================================================================================
4. OUTPUT-FILER
================================================================================
Alla filer sparas i utmappen (standard: seo_reports/).
report_<slug>.html — Interaktiv HTML-rapport med dark/light-läge
Innehåller: score, issues, tabbar för Meta / Headings /
Links / Images / Schema / Social / Content / Tracking /
Technical
data_<slug>.json — Rådata + analysresultat i JSON-format
Kan användas för vidare bearbetning eller för att
generera om rapporten utan ny hämtning
summary.csv — En rad per URL med alla nyckelvärden
(kräver --csv flaggan)
index.html — Översiktssida som listar alla rapporter
Går att filtrera på min-score och max-errors
================================================================================
5. POÄNGSYSTEM (0–100)
================================================================================
TOTALSCORE är summan av fem delkategorier:
Teknisk (0–30)
├─ HTTPS/TLS (−8 om saknas)
├─ HTTP-statuskod (−15 vid 5xx/404)
├─ Redirect-kedja (−3 om >3 hopp)
├─ Mixed content (−4 om HTTP-resurser på HTTPS-sida)
├─ HSTS-header (−2 om saknas)
├─ Komprimering (gzip/br) (−2 om saknas)
├─ Svarstid (−1 till −3 om >1,5 s)
├─ Viewport meta (−3 om saknas)
└─ Charset-deklaration (−1 om saknas)
Indexering (0–20)
├─ Noindex (−10 om satt)
├─ Canonical saknas (−5)
├─ Canonical pekar fel (−3)
├─ Ogiltiga hreflang-värden (−3)
└─ lang-attribut saknas (−2)
On-page (0–30)
├─ Title saknas (−10)
├─ Title för kort (<30 tecken) (−4)
├─ Title för lång (>65 tecken) (−2)
├─ Meta description saknas (−6)
├─ Meta description kort (−2)
├─ H1 saknas (−6)
├─ Flera H1 (−3)
├─ Tomma headings (−2)
├─ Bilder saknar alt-text (−1 till −4)
└─ Brutna länkar (−1 per länk, max −5)
Innehåll (0–10)
├─ <100 ord (−5)
└─ 100–299 ord (−2)
Social/Schema (0–10)
├─ Inga OpenGraph-taggar (−3)
├─ Saknade OG-taggar (3 st) (−1 var)
├─ Inga Twitter Card-taggar (−1)
├─ Ingen JSON-LD (−2)
└─ Ogiltig JSON-LD (−3)
BETYGSSKALA:
A 80–100 Utmärkt
B 65–79 Bra
C 50–64 Genomsnittligt
D 35–49 Svagt
F 0–34 Kritiskt
SVÅRIGHETSGRAD PÅ ISSUES:
error Allvarligt problem som bör åtgärdas omedelbart
warn Rekommenderad förbättring
info Tips och observationer
================================================================================
6. VAD ANALYSERAS PER URL
================================================================================
HTTP / NÄTVERK:
• HTTP-statuskod och redirect-kedja (upp till 10 hopp)
• Response headers: cache-control, content-type, server, HSTS, komprimering
• HTTPS/TLS-användning
• Mixed content (HTTP-resurser på HTTPS-sida)
• X-Robots-Tag header
• Svarstid i millisekunder
INDEXERING:
• <meta name="robots"> + X-Robots-Tag (noindex, nofollow)
• <link rel="canonical"> — saknas / self-canonical / pekar fel
• hreflang — lista + formatvalidering (BCP 47)
• lang-attribut på <html>
• Charset-deklaration
• Viewport meta
ON-PAGE SEO:
• Title — text, längd i tecken, pixelapproximation (~7,5 px/tecken)
• Meta description — text och längd
• Headings H1–H6 — lista, antal H1, tomma headings, hierarki
• Bilder — saknade alt, tomma alt, lazy loading, storlek
• Interna/externa länkar — antal, nofollow/ugc/sponsored
• Brutna länkar (valfritt, kräver --check-links)
INNEHÅLL:
• Ordräkning (synlig text, script/style/nav/footer borttagna)
• Top 20 ord med stopwords (svenska + engelska) borttagna
• LIX-läsbarhetspoäng (skala: <25 Mycket lätt → >60 Mycket svårt)
STRUKTURERAD DATA:
• Alla <script type="application/ld+json"> block
• JSON-validering av varje block
• Listning av @type (Article, Product, BreadcrumbList, Organization etc.)
SOCIAL MEDIA:
• OpenGraph: og:title, og:description, og:image, og:url, m.fl.
• Twitter Card: twitter:card, twitter:title, twitter:description, m.fl.
TRACKING-DETEKTION:
• GA4 Measurement ID (G-XXXXXXXXXX) — söks i script src + inline
• GTM Container ID (GTM-XXXXX)
• Meta Pixel, Hotjar, Microsoft Clarity, Segment, Heap, Matomo m.fl.
================================================================================
7. FELSÖKNING
================================================================================
FEL: ModuleNotFoundError: No module named 'requests'
LÖSNING: pip install requests beautifulsoup4 lxml
FEL: pip not recognized
LÖSNING: Prova: py -m pip install requests beautifulsoup4 lxml
FEL: SSL-certifikatfel på en HTTPS-sida
INFO: Rapporten flaggar detta som ett tekniskt fel. Sidan kan fortfarande
analyseras om --retries ökas.
FEL: Timeout
LÖSNING: Öka timeout: --timeout 30
FEL: Sidan blockerar boten
LÖSNING: Ange en browser User-Agent:
-ua "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
OBS: Alla SEO-rekommendationer i rapporten är heuristiker baserade på
branschpraxis. De är inga garantier för sökmotorranking.
================================================================================
8. EXEMPEL PÅ urls.txt
================================================================================
# Kommentarsrader ignoreras (börjar med #)
https://billigaverktyg.se/
https://billigaverktyg.se/om-oss
https://billigaverktyg.se/kontakt
https://billigaverktyg.se/kategori/borrmaskiner
https://billigaverktyg.se/kategori/skruvdragare
================================================================================
SEO Audit Tool v1.0 — github.com/seoaudit
Alla rekommendationer är heuristiker, inte garantier.
================================================================================