Artikulu honetan, SEO hobetzeko funtsezkoa den .htaccess fitxategia erabiltzeko oinarrizko printzipioak aztertuko ditugu. Fitxategi honek bilatzaileen orrien indexazio egokia bermatzen du. Birzuzenketak kudeatzen, segurtasuna konfiguratzen eta errendimendua hobetzen ikasiko dugu. Gainera, fitxategi hau modu independentean konfiguratzeko aholkuak emango ditugu.
Zergatik behar da .htaccess
.htaccess fitxategiak Apache zerbitzarietako web garatzaileentzako "urruneko kontrol" moduko bat da. Hainbat parametro doitzeko eta webgune baten portaera kudeatzeko tresna erosoak eskaintzen ditu. Zerbitzariaren konfigurazio-fitxategi nagusietarako sarbide zuzena erabilgarri ez dagoenean (hosting birtualean gertatu ohi den bezala, adibidez), .htaccess tresna erabilgarria bihurtzen da beharrezko aldaketak egiteko.
Htaccess zure guneko erroko karpetan edo konfigurazio berezia behar den karpeta horietan kokatu ohi da. Adibidez, WordPress erabiltzen baduzu, konfigurazioa Yoast SEO pluginaren bidez egin daiteke, artikuluan eztabaidatu duguna Robots.txt konfiguratzen. Beste kasu batzuetan, nahikoa da beharrezkoa den karpetara joan eta lehendik dagoen .htaccess fitxategia editatzea, edo sortzea oraindik sortu ez bada.
.htaccess Fitxategia konfiguratzen
301 Berbideratu htaccess
.htaccess fitxategian 301 birbideraketa webgune bateko birbideratze iraunkor batekin pareka daiteke. Bilatzaileei eta arakatzaileei orria helbide berri batean betirako kokatuta dagoela jakinarazten die eta laster-markak eta indexatzea iradokitzen du. Birbideratze hori orri bat mugitzen edo ezabatzen denean erabiltzen da bilaketa-emaitzetan bere sailkapena gordetzeko eta bisitariak kokapen berrira birbideratzeko.
Birzuzenketak aktibatzeko, dagokion komandoa gaitu behar duzu .htaccess fitxategian:
RewriteEngine on
Horren ondoren, birbideratzeko modurik errazena konfigura dezakezu:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>
Antzeko birzuzenketa bat erabiliz Birbideratu Iraunkorra Zuzentarauaren itxura hau da:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>
Hauek dira konfiguratzeko birbideratzeko metodo errazenak. Har dezagun beste birbideratze-mota aurreratuagoak erabiltzen dituen konfigurazio bat mod_rewrite modulua:
<IfModule mod_rewrite.c>
RewriteEngine On
# Redirecting from one page to another
RewriteRule ^old-page.html$ http://www.example.com/new-page.html [R=301,L]
# Redirecting all traffic from one domain to another
RewriteCond %{HTTP_HOST} ^oldsite.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.oldsite.com$
RewriteRule ^(.*)$ http://www.newsite.com/$1 [R=301,L]
# Redirecting from www to non-www (or vice versa)
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
# Redirecting from HTTP to HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
# Redirecting from one subdomain to another
RewriteCond %{HTTP_HOST} ^subdomain1.example.com$
RewriteRule ^(.*)$ http://subdomain2.example.com/$1 [R=301,L]
</IfModule>
302 birbideratzeko .htaccess, aldi baterako lekualdatzea adierazten duena, askoz gutxiagotan aurkitzen da. Hona hemen ezarpen horren adibide bat:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>
Zuzentarauaren ErrorDocument
Ezarpen honi esker, erabiltzaileak zer ikusten duen kontrola dezakezu zure webgunean HTTP erroreak gertatzen direnean. Errore-mezu estandarraren ordez, zure orria erakutsi dezakezu, bisitariari informazio gehiago emango diona eta gertatutakoa ulertzen lagunduko dio. Besterik gabe, jarraitu sintaxi hau erabiltzeko:
ErrorDocument <error_code> <URL_page>
Esate baterako,
ErrorDocument 404 /errors/not_found.html
Esan nahi du a 404 errorea gertatzen da, orrialdean /errors/not_found.html irekiko da. URL absolutuak antzera zehazten dira:
ErrorDocument 500 http://example.com/errors/server_error.html
Adibide honek bistaratzea adierazten du server_error.html orrian http://example.com/errors/ a gertatuz gero 500 error.
Gune direktorio baterako sarbidea ukatzea
.htaccess fitxategiak komandoa du Guztietatik ukatu, zure web zerbitzariko karpeta edo fitxategi jakin batzuetarako sarbidea ukatzen laguntzen duena. Baliagarria izan daiteke guneko bisitarien informazio pribatua edo fitxategi garrantzitsuak ezkutatu nahi badituzu datuen segurtasuna bermatzeko.
Zerrenda desgaitzeko (eskuragarri dauden direktorio guztiak ikusteko), lerroa gehitu behar duzu:
Options -Indexes
Direktorio zehatz baterako sarbidea blokeatzeko adibide bat honelakoa da:
<Directory /path_to_your_directory>
Order Deny,Allow
Deny from all
</Directory>
Era berean, fitxategi bakarrerako sarbidea uka dezakezu:
<Files "file.php">
Order Deny,Allow
Deny from all
</Files>
Edo luzapenaren arabera fitxategi sorta baterako:
<FilesMatch "\.(txt|log|bak)$"> # Select the desired extensions, in the example: txt, log, bak
Order Deny,Allow
Deny from all
</FilesMatch>
Sarbidea IP bidez blokeatzea
.htaccess fitxategian IP bidezko sarbidea blokeatzea zure webgunerako sarbidea mugatzeko aukera ematen duen metodo bat da IP helbide zehatzetarako edo haien taldeetarako. Hau erabilgarria izan daiteke zure webgunera edo bere zati zehatz batzuei edo nahi ez diren botei sarbidea eragotzi nahi badiezu.
IP helbide bakarra blokeatzea komandoarekin egiten da:
Order Deny,Allow
Allow from all
Deny from 11.22.33.44
Hainbat IP helbide blokeatzea antzera egiten da "ukatu" lerrokatu behar diren helbideekin.
IP helbide sorta bat blokeatzeko:
Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24
IP espezifikoei soilik sarbidea baimentzeko, gehitu kodea:
Order Deny,Allow
Deny from all
Allow from 11.22.33.44
Sarbidea erabat ukatzeko, erabili zuzentaraua Guztietatik ukatu, eta helbideak maskararen bidez blokeatzeko, zehaztu Ukatu 11.22tik aurrera.
Non, 11.22 IP helbidea da maskara.
Erabiltzaile-agentearen bidez bisitariak blokeatzea
Erabiltzaileak Erabiltzaile-Agenteak .htaccess fitxategian blokeatzea zure web zerbitzaria nork sar dezakeen kontrolatzeko metodo bat da, bisitariak erabiltzen duen arakatzaileari buruzko informazioan oinarrituta. Erabiltzaile-Agente kateak pertsona batek zure zerbitzariarekin elkarreragiteko erabiltzen duen arakatzaileari buruzko datuak ditu, eta informazio horri esker, erabiltzaile jakin batzuen sarbidea mugatu dezakezu.
Erabiltzaile-Agenteak blokeatzeko modurik ohikoena erabiltzea da mod_rewrite:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Bot1 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot2 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot3 [NC]
RewriteRule ^.*$ - [F,L]
</IfModule>
Adibide honetan:
- RewriteCond %{HTTP_USER_AGENT} Erabiltzaile-Agente katea egiaztatzeko erabiltzen da.
- ^Bot1, ^Bot2, ^Bot3 blokeatu nahi ditugun Erabiltzaile-Agente kateen adibideak dira. NC modifikatzaileek konparaketak maiuskulak eta minuskulak bereizten ez dituela adierazten dute.
- RewriteRule ^.*$ - [F,L] eskaerari aplikatzen zaio RewriteCond baldintzaren bat betetzen bada. 403 Debekatutako egoera kodearekin (F) erantzuna bidaltzen du eta prozesatzeko arauak (L) gelditzen ditu.
Cachea htaccess-en
Cachea .htaccess fitxategiaren bidez konfiguratzeak zure webgunea bizkortzen laguntzen du erabiltzaileentzat azkarrago kargatuz. Honela funtzionatzen du: fitxategi batzuk, hala nola, irudiak, CSS estiloak eta JavaScript scriptak, erabiltzailearen arakatzailearen cachean gordetzen dira lehen kargatu ondoren. Orain arakatzaileak fitxategi hauek erabil ditzake cachetik, erabiltzaileak orri bat bisitatzen duen bakoitzean zerbitzaritik birkargatu beharrean. Horrek kargatzeko denbora murrizten du eta gunearen errendimendua hobetzen du.
Demagun adibide bat:
# Enable caching for images for 1 month
<FilesMatch "\.(jpg|jpeg|png|gif|svg)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
# Enable caching for CSS and JavaScript for 1 week
<FilesMatch "\.(css|js)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
Maiz eguneratzen diren baliabideetarako, berriz, beharrezkoa da cachea desgaitzea:
# Excluding caching for HTML pages and XML files
<FilesMatch "\.(html|xml)$">
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "0"
</FilesMatch>
Gunearen errendimendua optimizatzea
The mod_puztu mod_gzip Apacheko moduluek zerbitzariak erabiltzaileen gailuetara bidaltzen duen informazioa konprimitzen laguntzen dute. Honek fitxategiak tamaina txikiagoan bihurtzen ditu, eta horrek orrien karga bizkortzen du. Hala ere, garrantzitsua da gogoratzea modulu hauen euskarria eta konfigurazioa alda daitezkeela zure zerbitzariaren arabera.
Erabiltzeko adibidea mod_puztu modulua:
<IfModule mod_deflate.c>
# Compressing text file types
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>
Adibidea mod_gzip:
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ # Enabling compression for files with extensions .html, .txt, .css, .js, .php, .pl
mod_gzip_item_include mime ^application/x-javascript.* # Enabling compression for MIME types starting with application/x-javascript
mod_gzip_item_include mime ^text/.* # Enabling compression for MIME types starting with text/
mod_gzip_item_exclude mime ^image/.* # Excluding from compression MIME types starting with image/
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* # Excluding already compressed data (responses with the Content-Encoding: gzip header)
</IfModule>
Gehien erabiltzen diren zuzentarauak eztabaidatu ditugu. Fitxategiaren gaitasun guztiak ezagutu ditzakezu dokumentazio ofiziala.
Nola egiaztatu .htaccess fitxategiaren funtzionaltasuna
Zure .htaccess fitxategia webgunean funtzionatzen ari den egiaztatzeko, urrats hauek egin ditzakezu:
- Nahita aldatu .htaccess fitxategia errore batekin. Erantzun gisa, zerbitzariak errore bat eman beharko luke. Metodo honek fitxategiaren eragiketa orokorrean zerbitzarian aplikatzen den erakusten du.
- Egiaztatu egin dituzun aldaketa zehatzen funtzionaltasuna. Adibidez, egin doikuntza txiki bat parametroetako batean eta ebaluatu aldaketak dauden.
- Egiaztatu orriaren egoera kodea aldaketak zerbitzariaren erantzunarekin zerikusia badute. Nola egin, aldez aurretik artikuluan deskribatu genuen HTTP Error Codes: zerbitzariaren akatsen zerrenda osoa.
- Ikusi zerbitzariaren erregistroak. .htaccess fitxategiaren funtzionamenduarekin lotutako errore guztiak bistaratzen dituzte.
- Egin probak lineako zerbitzu edo tresnak erabiliz.
Garrantzitsua da ulertzea .htaccess fitxategiaren funtzionaltasuna egiaztatzeko, ez dituzula urrats guztiak aldi berean egin behar. Nahikoa da zerrendatik metodo egokiena aukeratzea eta erabiltzea.
Ondorioa
.htaccess fitxategia konfiguratzea urrats garrantzitsua da zure Apache zerbitzaria optimizatzeko eta babesteko. Fitxategi honek birzuzenketak kudeatzen, edukia konprimitzen eta segurtasuna bermatzen laguntzen duen aztertu dugu. .htaccess-ekin lanean menperatzen duzunean, webguneen errendimendua eta funtzionaltasuna hobetzeko tresna indartsua lortzen duzu.