为什么需要为图片添加 alt 和 title 属性?
在 WordPress 网站优化中,为图片添加 alt(替代文本)和 title(标题)属性是提升网站可访问性和搜索引擎优化(SEO)的重要环节。
- SEO 优化:
alt属性帮助搜索引擎理解图片内容,是图片搜索排名的重要依据。 - 可访问性:屏幕阅读器会朗读
alt文本,帮助视障用户理解图片信息。 - 用户体验:当图片无法加载时,
alt文本会显示在图片位置;鼠标悬停时,title属性会显示提示信息。
手动为大量图片添加这些属性非常耗时。虽然存在插件可以自动处理,但通过代码实现是更轻量、高效且无需依赖第三方插件的方法。
通过代码自动为文章图片添加 alt 和 title 属性
将以下 PHP 代码添加到您当前 WordPress 主题的 functions.php 文件末尾即可。此代码会为文章正文中的所有图片链接自动添加属性。
/**
* 自动为文章内容中的图片添加 alt 和 title 属性
* @param string $content 文章内容
* @return string 处理后的文章内容
*/
add_filter('the_content', 'wukongso_auto_image_attrs');
function wukongso_auto_image_attrs($content) {
global $post;
// 匹配文章内容中的图片链接标签
$pattern = '/<a(.*?)href=(['"])(.*?).(bmp|gif|jpeg|jpg|png|webp)(2)(.*?)>/i';
// 替换为包含 alt 和 title 属性的新标签,属性值为文章标题
$replacement = '<a$1href=$2$3.$4$5 alt="' . esc_attr($post->post_title) . '" title="' . esc_attr($post->post_title) . '"$6>';
$content = preg_replace($pattern, $replacement, $content);
return $content;
}
代码说明与注意事项
- 功能:此函数会扫描文章内容,找到所有指向图片(如 .jpg, .png, .webp 等)的 <a> 标签,并为其添加
alt和title属性,属性值均设置为当前文章的标题。 - 安全性:代码中使用了
esc_attr()函数对文章标题进行转义,防止特殊字符引起 HTML 或安全问题,这比原始代码更安全。 - 适用范围:此方法仅处理通过文章编辑器插入的、由 <a> 标签包裹的图片。对于作为“特色图像”或通过主题模板直接调用的图片无效。
- 效果验证:添加代码后,请清空网站缓存,然后打开任意一篇文章。在浏览器中右键点击图片并选择“检查”(或“查看元素”),即可在 <a> 标签中看到已添加的
alt和title属性。
进阶优化建议
上述基础方案将所有图片的 alt/title 都设置为文章标题。对于 SEO 而言,更精细化的方案是使用图片本身的描述性信息。您可以考虑以下优化方向:
- 使用图片文件名:修改代码,从图片 URL 中提取文件名(去除后缀和连接符)作为属性值,这通常更具描述性。
- 结合文章摘要:如果文章标题不够具体,可以使用文章摘要(Excerpt)或前几个字作为备选。
- 自定义字段:为文章创建专门的“图片关键词”自定义字段,为代码提供更精准的属性值。
通过这段简单的代码,您可以有效提升网站的 SEO 基础评分和可访问性,而无需安装任何额外插件,保持网站的高效运行。