0

我的 ASP.Net 4.5 Web 应用程序项目、Metadescriptions 和 Google 遇到了编码问题。

我有两个页面使用相同的 MasterPage:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta http-equiv="Content-Language" content="de" />
    <meta name="description" content="...für..." />
...

我有两个 ContentPages A 和 B,它们都使用这个 MasterPage 并且不更改 MetaDescription。
但是,在 Google 中,它们不会显示相同的 MetaDescription(在 Google 中的每个搜索结果下都会显示一些文本,对于这两个页面,它是它们的 MetaDescription)。

ContentPage A显示“für”而不是“für”
ContentPage B正确显示“für”

我似乎无法找到这些页面之间的巨大差异。它们呈现来自数据库的不同内容。我在大约 10% 的页面上遇到了这个问题。我发现的一个共同点是,从我的数据库中显示新闻的每个页面都显示了元描述的错误编码。包含不同内容的其他页面也可能存在或不存在此问题。
我猜谷歌“错误地”假设了整个页面的另一个编码?

我怎样才能正确追踪这个?

来自内容页面的两个标题在 Chrome 的“查看源代码”窗口中看起来相同:

页面 A

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="de" />
<meta name="description" content="...für..." />

乙页

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="de" />
<meta name="description" content="...für..." />

如何摆脱该编码问题并让元描述正确显示在 Google 搜索中?大多数其他内容页面在 Google 搜索中的编码没有任何问题。

4

1 回答 1

0

这是一个很长的镜头,但考虑到您正在提供 xhtml,请尝试以下一种或多种组合

  1. xml:lang从 html 标记中删除
  2. 尝试xml:lang="de"
  3. 尝试添加xml声明<?xml version="1.0" encoding="iso-8859-1"?>
于 2012-12-28T11:17:48.120 回答