.htaccess: Hướng dẫn đầy đủ về tệp cấu hình máy chủ cho SEO

Trong SEO chúng ta phải học cách quản lý một số chỉ thị nhất định để truyền đạt những gì chúng ta muốn đến nhà phát triển và đảm bảo rằng việc triển khai thành công cho dự án.
Như đã nói, nhiều website quản lý các chỉ thị phổ biến nhất thông qua tệp .htaccess. Để tìm hiểu chi tiết hơn về tệp này và những thủ thuật tốt nhất để tối ưu hóa nó cho các công cụ tìm kiếm, vui lòng tiếp tục đọc.
Tệp .htaccess là gì?
Tệp .htaccess là viết tắt của Hypertext Access. Đây là tệp truy cập siêu văn bản có tên xuất phát từ tệp cấu hình thư mục trên máy chủ Apache và được sử dụng để thu thập các chỉ thị chính của máy chủ.
Tên bắt đầu bằng "." là do hệ thống Unix, nơi các tệp như vậy được xác định là ẩn. Đó là lý do tại sao chúng ta phải chú ý khi đổi tên nó trên Windows để tránh các vấn đề.
Tệp được tạo cục bộ, lưu ở định dạng văn bản (.txt) — không bao giờ ở định dạng Word — và được tải lên máy chủ qua FTP, đặt nó trong thư mục cần được sử dụng.
Nó hoạt động như thế nào?
Bạn phải tính đến các hành vi của tệp này và tất cả các đặc thù của nó:
- Hành vi của tệp này là phân cấp trên cây thư mục của website, có nghĩa là nếu bạn có một tệp trong thư mục gốc của trang web, các chỉ thị sẽ ảnh hưởng đến tất cả các thư mục. Do đó, không có một tệp htaccess duy nhất; có thể có một tệp cho mỗi thư mục nếu cần.
- Mỗi khi người dùng truy cập một trang web, máy chủ quét các tài liệu này và các chỉ thị mà chúng chứa. Do đó, điều cần thiết là chúng được cấu hình hoàn hảo và không có lỗi nào, để tránh sự cố.
- Trước khi thực hiện bất kỳ thay đổi nào, hãy đảm bảo bạn làm việc trên một bản sao của tài liệu .htaccess vì nếu bạn chỉnh sửa nó không tốt, bạn có thể gặp vấn đề sau đó.
- Các bình luận trong tệp luôn được giới thiệu bằng dấu thăng "#".
Cách tối ưu hóa tệp htaccess cho SEO?
Thông qua một số chỉ thị, chúng ta có thể chỉ ra những gì chúng ta muốn yêu cầu máy chủ làm và do đó tối ưu hóa nhiều lĩnh vực khác nhau. Từ htaccess chúng ta có thể:
Chuyển hướng một subdomain đến một thư mục con
Điều này sẽ rất hữu ích khi chúng ta cần loại bỏ một subdomain và biến nó thành một phần của thư mục của một domain. Ví dụ: hola.example.com được chuyển hướng đến www.example.com/hola
Chuyển hướng 301 và 302
Trong tệp các URL cũ được bao gồm cùng với những URL mà việc chuyển hướng nên đến.
Chuyển hướng tệp
Redirect /old-page.html https://www.new-page.html
Bảo vệ bằng mật khẩu
Một số khu vực nhất định của một website có thể được bảo vệ bằng mật khẩu:
Bảo vệ mật khẩu đơn giản qua .htaccess
AuthType Basic AuthName "Khu vực được bảo vệ" AuthUserFile /<đường dẫn tuyệt đối đến tệp mật khẩu>/.htpasswd AuthPGAuthoritative Off require user User1 User2 User3
Kiểm soát truy cập thư mục
Thông qua các chỉ thị, bạn có thể quản lý truy cập (từ chối hoặc cho phép) đến một số thư mục nhất định cho tất cả người dùng hoặc thông qua một IP cụ thể:
Tệp để điều chỉnh truy cập IP
Order deny,allow Deny from .aol.com Deny from 192.168 Allow from 192.168.220.102
Chỉ định domain chính
Sử dụng quy tắc chuyển hướng 301 đến domain.com hoặc www.domain.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.
RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www.)?(.+)$
RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]
Chuyển hướng đến phiên bản bảo mật
Chuyển hướng của website đến giao thức bảo mật:
httpsRewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Thay đổi trang mặc định
Trên một số website, trang mặc định được đặt tên là /index, không thân thiện với SEO. Nó có thể được thay đổi để không hiển thị.
DirectoryIndex example-page.php
Tăng giới hạn bộ nhớ PHP
Việc sử dụng các ứng dụng PHP có một giới hạn nhất định vì các script chiếm bộ nhớ trên máy chủ. Sử dụng lệnh sau, bạn có thể tăng dung lượng:
Giới hạn bộ nhớ PHP
php_value memory_limit 128M
Thay đổi múi giờ của máy chủ
Bạn có thể đặt múi giờ chính xác bằng lệnh sau:
#Đặt múi giờ mặc định SetEnv TZ America / Washington
Mã hóa tài liệu
Bạn có thể chỉ định loại mã hóa cho từng loại tài liệu. Đối với mã hóa UTF-8, bạn cần nhập lệnh này:
Chỉ định mã hóa ký tự
AddDefaultCharset utf-8
Bắt buộc lưu vào bộ nhớ đệm website của bạn
Bằng cách thay đổi số giây trong tần suất bộ nhớ đệm, chúng ta dễ dàng hơn, khi người dùng truy cập chúng ta, để trang tải nhanh hơn vì hầu hết các yếu tố chưa được sửa đổi đã được lưu vào bộ nhớ đệm. Điều này chủ yếu giúp chúng ta cải thiện việc tải hình ảnh.
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif A432000 ExpiresByType image/jpg A432000 ExpiresByType image/jpeg A432000 ExpiresByType image/png A432000 ExpiresByType image/ico A432000 ExpiresByType image/bmp A432000 ExpiresByType text/css A432000 ExpiresByType text/javascript A432000 ExpiresByType application/javascript A432000 ExpiresByType application/x-javascript A432000 </ifmodule>
Tùy chỉnh trang lỗi 404
Khi lỗi này xảy ra do người dùng đến một trang không tìm thấy, tệp htaccess có thể hiển thị các trang lỗi 404 được tối ưu hóa này. Thường thì chúng là một trong những trang bị bỏ qua nhất và có thể tạo ra sự khác biệt giữa giữ chân người dùng hay khiến họ rời đi.
Thông báo lỗi tùy chỉnh tại vị trí cục bộ
ErrorDocument 404 /access-path/404.html Bảo mật
Thông qua tệp này, bạn có thể chặn truy cập đến một số bot spam nhất định:
RewriteEngine on
RewriteCond %{HTTP_REFERER} buttons-for-website.com [NC,OR]
RewriteCond %{HTTP_REFERER} darodar.com [NC,OR]
Hotlinking
Bạn cũng có thể chặn các kỹ thuật phi đạo đức như hotlinking: Kỹ thuật này bao gồm việc hiển thị nội dung được lưu trữ trên máy chủ của bạn nhưng trên một website khác, để mặc dù khách truy cập đang ở một trang khác, chính máy chủ của bạn chịu tải hiển thị nội dung đó, thường là video hoặc ảnh.
Ngăn hotlinking
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://your-domain/.*$ [NC] [OR] RewriteCond %{HTTP_REFERER} !^http://www.your-domain/.*$ [NC] [OR] RewriteRule .*.(gif|GIF|jpg|JPG|bmp|BMP|wav|mp3|wmv|avi|mpeg)$ - [F]
Tạo URL thân thiện
Có thể loại bỏ các tham số mặc định khỏi URL và ngụy trang chúng để chúng trông thân thiện hơn và giúp xếp hạng tốt hơn trong kết quả tìm kiếm. Ví dụ: https://www.example.com/index.php?parameter=blog trông tốt hơn dưới dạng https://www.example.com/blog
RewriteEngine On
RewriteRule ^shop/([^/])/([^/])/$ /index.php?category=$1&product=$2 [L]
Nén tệp để cải thiện duyệt web
Thông qua một quy tắc trong htaccess, bạn có thể nén các tệp js, css, html và văn bản của website để chúng chiếm ít không gian hơn trong quá trình tải. Điều này sẽ giúp người dùng di động dễ dàng tiêu thụ ít dữ liệu hơn khi duyệt. Hãy nhớ tầm quan trọng của WPO đối với SEO!
<ifmodule> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript </ifmodule>
Nén Gzip
Nén các tệp của bạn trên máy chủ để đạt được tải xuống nhanh hơn và cải thiện chất lượng duyệt web.
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE !no-gzip !gzip-only-text/html
Ngăn lập chỉ mục tệp
Chúng ta có thể thấy rằng, mặc dù đã chặn một số URL hoặc thư mục nhất định khỏi tệp robots.txt, Google vẫn lập chỉ mục chúng. Bằng cách nhập lệnh sau, chúng ta sẽ đạt được một khối hoàn chỉnh:
<Files ~ «.pdf$»>
Header set X-Robots-Tag «noindex, follow»
</Files>
Bật Keep-Alive
Việc bật điều này cho phép một kết nối liên tục đến máy chủ thay vì bắt đầu một kết nối mỗi khi trang tải. Với keep-alive, chúng ta đảm bảo tải xuống nhanh chóng của website.
<ifModule mod_headers.c> Header set Connection keep-alive </ifModule> Bây giờ bạn đã thấy tất cả các khả năng bạn có với tệp htaccess, bạn được tự do triển khai chúng. Các quy tắc này có giá trị cho dù bạn có WordPress làm CMS, mã của riêng mình hay bất kỳ hệ thống nào khác.
Đúng là nếu bạn có một dự án WordPress, cuộc sống của bạn sẽ đơn giản hơn, vì bạn có thể chỉnh sửa tệp htaccess trực tiếp trong trình chỉnh sửa. Mặc dù vậy, hãy hết sức cẩn thận vì đây không chỉ là một plugin khác và rất dễ làm hỏng trang web! Chúng tôi sẽ cho bạn biết cách làm điều đó!
Chỉnh sửa tệp htaccess trong WordPress
Nếu bạn sử dụng WordPress, chúng tôi khuyên bạn nên cài đặt plugin Rank Math, sẽ cho phép bạn chỉnh sửa nó dễ dàng và nhanh chóng.
Bạn chỉ cần đi đến Rank Math > General Settings > Edit .htaccess

Chỉnh sửa tệp htaccess từ WordPress rất đơn giản nên hãy nhớ phải cẩn thận!
Bạn vẫn còn câu hỏi nào không? Hãy để lại bình luận và chúng tôi sẽ vui lòng xem xét!
Nguồn tham khảo:
- CDmon: Information and uses of the .htaccess file - Computerhoy: What is .htaccess, what is it for and fundamental codes - Ionos: Ten tricks for configuring .htaccess that anyone should know - HelpOne: What is .htaccess? - Hostinger: What is the .htaccess file?
Tác giả: David Kaufmann

Tôi đã dành hơn 10 năm qua hoàn toàn đắm chìm trong SEO — và thành thật mà nói, tôi không muốn điều gì khác thay thế.
Sự nghiệp của tôi bước sang một tầm cao mới khi tôi làm việc với vai trò chuyên gia SEO cấp cao tại Chess.com — một trong 100 website được truy cập nhiều nhất trên toàn bộ internet. Vận hành ở quy mô đó, trên hàng triệu trang, hàng chục ngôn ngữ và trong một trong những SERPs cạnh tranh khốc liệt nhất, đã dạy tôi những điều mà không khóa học hay chứng chỉ nào có thể mang lại. Trải nghiệm đó đã thay đổi cách tôi nhìn nhận về SEO thực sự xuất sắc — và trở thành nền tảng cho mọi thứ tôi xây dựng từ đó đến nay.
Từ kinh nghiệm ấy, tôi đã sáng lập SEO Alive — một agency dành cho những thương hiệu thực sự nghiêm túc với tăng trưởng organic. Chúng tôi không ở đây để bán dashboards và báo cáo hàng tháng. Chúng tôi ở đây để xây dựng những chiến lược thực sự tạo ra chuyển biến, kết hợp tinh hoa của SEO truyền thống với thế giới mới đầy thú vị của Generative Engine Optimization (GEO) — đảm bảo thương hiệu của bạn không chỉ xuất hiện trong các liên kết xanh của Google, mà còn hiện diện ngay trong những câu trả lời do AI tạo ra mà ChatGPT, Perplexity và Google AI Overviews đang cung cấp cho hàng triệu người mỗi ngày.
Và bởi vì tôi không thể tìm được một công cụ xử lý tốt cả hai thế giới đó, tôi đã tự xây dựng một công cụ — SEOcrawl, một nền tảng SEO intelligence cấp doanh nghiệp tích hợp rankings, kiểm tra kỹ thuật, giám sát backlinks, tình trạng crawl và theo dõi hiển thị thương hiệu trên AI, tất cả trong một nơi. Đó chính là nền tảng mà tôi luôn ước có.
Khám phá thêm nội dung của tác giả này

