Powrót do strony głównej

Przyjazne URL dla SEO: konfiguracja na Apache i Nginx

Artykuł omawia implementację przyjaznych URL w celu poprawy SEO. Opisano konfiguracje w CMS, serwerach Apache/Nginx, automatyzacja migracji i eliminacja błędów. Podano przykłady kodu i rekomendacje integracji z CDN.

Przyjazne URL: pełna konfiguracja dla maksymalnego efektu SEO
Advertisement 728x90

Optymalizacja przyjaznych URL dla SEO: realizacja techniczna na serwerach i systemach CMS

Przyjazne URL zastępują dynamiczne parametry czytelnymi ścieżkami, zwiększając istotność dla robotów wyszukiwarek. Zamiast site.pl/products.php?category_id=102&item_id=9452 używa się site.pl/katalog/laptopy/iphone-15-pro. Taka struktura przekazuje hierarchię strony i słowa kluczowe bezpośrednio w adresie, ułatwiając indeksowanie i analizę.

Prawidłowy przyjazny URL składa się z małych liter, myślników do oddzielania słów, bez parametrów UTM. Długość ścieżki — 3-5 słów, z dokładnym słowem kluczowym. Przykład: site.pl/blog/seo-optymalizacja zamiast site.pl/p?id=3312&ref=main.

Korzyści obejmują wzrost klikalności w SERP, istotność słów kluczowych, lepszą nawigację dla crawlerów, uproszczone udostępnianie i obniżenie współczynnika odrzuceń.

Google AdInline article slot

Konfiguracja przyjaznych URL w popularnych systemach CMS

WordPress: w ustawieniach wybierz %postname% lub /%category%/%postname%/, zapisz — plik .htaccess zaktualizuje się automatycznie. Sprawdź mod_rewrite.

Joomla: aktywuj SEF URLs i Apache Rewrite, przemianuj htaccess.txt na .htaccess.

OpenCart: włącz SEO URL w ustawieniach serwera, ustaw pseudonimy dla kategorii i produktów, przemianuj .htaccess.txt.

Google AdInline article slot
# Sprawdzenie mod_rewrite w Apache
apache2ctl -M | grep rewrite

Konfiguracja serwera: Apache i Nginx

Apache przez .htaccess

Włącz mod_rewrite:

sudo a2enmod rewrite
sudo systemctl restart apache2

Podstawowe reguły:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]

RewriteRule ^category/([0-9]+)/?$ /index.php?cat=$1 [L]

Flagi [L] zatrzymują przetwarzanie, [QSA] zachowują parametry.

Google AdInline article slot

Konfiguracja Nginx

W pliku wirtualnego hosta:

server {
    listen 80;
    server_name site.pl www.site.pl;
    root /var/www/site;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Sprawdź i przeładuj:

sudo nginx -t
sudo systemctl reload nginx

Integracja z CDN i automatyzacja

Dla Cloudflare skonfiguruj Page Rules z Cache Level: Standard — przyjazne URL są efektywniej buforowane niż dynamiczne URL, zmniejszając obciążenie origin o 15-25%.

Automatyzacja migracji

Skrypt bash dla MySQL (WordPress):

#!/bin/bash
DB_NAME="twoja_baza"
DB_USER="twoj_uzytkownik"
DB_PASS="twoje_haslo"

mysql -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" <<EOF
UPDATE wp_posts
SET guid = REPLACE(guid, '/?p=', '/post/')
WHERE post_status = 'publish';
EOF

echo "Zamiana zakończona"

Aktualizacja .htaccess:

sed -i '/RewriteEngine On/a RewriteRule ^\?p=([0-9]+)$ /post/$1 [R=301,L]' /var/www/site/.htaccess

CI/CD w GitHub Actions automatyzuje wdrażanie konfiguracji.

Diagnostyka i usuwanie błędów

404 na starych URL

Skonfiguruj 301 przekierowania:

RewriteRule ^index\.php\?p=([0-9]+)$ /post/$1 [R=301,L]

Sprawdź w Google Search Console sekcję Pokrycie.

Duplikaty stron

  • Użyj <link rel="canonical" href="glowny-URL">
  • Zablokuj dynamikę w robots.txt: Disallow: /*?id=

Test przekierowań:

curl -I -L site.pl/?p=123

Co jest ważne

  • Przyjazne URL zwiększają istotność słów kluczowych i klikalność bez dodatkowych kosztów.
  • Konfiguracja serwera z try_files lub RewriteRule jest obowiązkowa dla niestandardowych projektów.
  • 301 przekierowania zachowują wagę linków podczas migracji.
  • Integracja z CDN optymalizuje wydajność o 15-25%.
  • Automatyzacja skryptami minimalizuje pracę ręczną dla dużych stron.

— Editorial Team

Advertisement 728x90

Czytaj dalej