centos

如何在CentOS上通过Apache优化SEO

小樊
32
2025-12-21 11:51:59
栏目: 智能运维

在 CentOS 上通过 Apache 优化 SEO 的实操清单

一 基础与站点可达性优化

二 性能与渲染优化

三 URL 结构与重定向策略

四 安全与爬虫友好配置

五 可直接使用的配置片段

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    Redirect permanent / https://www.example.com/
</VirtualHost>

<VirtualHost *:443>
    ServerName www.example.com
    DocumentRoot /var/www/example.com/public_html

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

    Protocols h2 http/1.1

    # 安全头
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set X-XSS-Protection "1; mode=block"
    Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;"

    # Gzip 压缩
    <IfModule mod_deflate.c>
      AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json
    </IfModule>

    # 浏览器缓存
    <IfModule mod_expires.c>
      ExpiresActive On
      ExpiresByType text/html "access plus 1 hour"
      ExpiresByType text/css "access plus 1 week"
      ExpiresByType application/javascript "access plus 1 week"
      ExpiresByType image/jpeg "access plus 1 month"
      ExpiresByType image/png "access plus 1 month"
      ExpiresByType image/gif "access plus 1 month"
    </IfModule>

    # 目录与重写
    <Directory /var/www/example.com/public_html>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    # 可选:前端控制器(单入口)
    # RewriteEngine On
    # RewriteCond %{REQUEST_FILENAME} !-f
    # RewriteCond %{REQUEST_FILENAME} !-d
    # RewriteRule ^(.*)$ index.php [L]
</VirtualHost>
# 1) HTTP → HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# 2) 非 www → www(可选,与上面二选一)
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

# 3) 美化URL:/article/123/my-title → article.php?id=123&slug=my-title
RewriteEngine On
RewriteRule ^article/([0-9]+)/([a-zA-Z0-9-]+)$ article.php?id=$1&slug=$2 [L,QSA]

0
看了该问题的人还看了