如何获取包含要由搜索引擎索引的文本的图像?


20

我正在为一个朋友建立一个小型投资组合网站,并且从事广告以及所有工作,她讨厌标准字体,并且希望所有内容都以自定义字体编写。

由于CSS字体嵌入目前还不是真正的选择,因此所有文本(幸运的是,它们的数量很少)将作为图像放置。

我如何仍可以索引图像内容?对于小文本(链接,菜单等),我将文本放在alt属性中,但对于更长的文本,我认为这不是解决方案。我能做什么 ?将文字放在图片旁边的隐藏div中?


7
为什么没有Web字体选项?这是专业组合吗?如果是这样,花$ 50买一套不错的可嵌入网络字体。哎呀,您可以和她分担费用,并获得无限的站点许可证,您可以在以后的站点上重复使用。还有一些相当不错的免费网络字体。这比使用图像作为正文文本要好得多。
莱斯特·马耶斯特(Lèsemajesté),2010年

+1 @Lèse确实,这是唯一的方法。
Virtuosi Media 2010年

好吧,这不是一个选择,因为主要的浏览器不支持它,不是吗?
Wookai 2010年

1
是的,一路回到IE5.5 ...阅读下面的答案:)
Oscar Godson 2010年

哇,真是一场灾难,这是为什么软件专业人员永远都不会过时的一个很好的例子。有人必须阻止商人犯下悲惨的错误。
马克·罗杰斯

Answers:


17

嵌入字体!

不,但实际上,可嵌入字体可在所有当前浏览器(FF,Chrome,Safari,Opera)和IE5.5 +上使用(是的,自90年代以来一直在IE中使用。)

在此处获取您的TTF上传:http : //www.kirsle.net/wizards/ttf2eot.cgi

它会给您代码和2个文件(先是TTF,然后是EOT [M $网络字体])。复制,粘贴,上传,完成。双赢!

而且请,请不要使用图片:)

但是,如果您这样做,则可以像不使用图像那样编写标记,然后将背景图像添加到所有元素中,并使用text-indent:-9999px隐藏文本。但是,请使用嵌入式字体。另外,如果您的客户/朋友是摄影师,那么她可能(不应该)使用古老的浏览器(我的意思是,真的很古老,例如IE4 ...)


1
谢谢,我真的以为还不支持字体嵌入!我将尝试您的网站!
Wookai 2010年

当然可以!希望对您有所帮助:D
奥斯卡·戈德森

请注意,由于版权问题,您不能只使用任何字体-请首先检查许可条款!
DisgruntledGoat 2010年

6

除非她在该网站上出售自己的字体,否则我认为你们俩都可以在CSS嵌入上做更多的工作(是的,我读到现在这不是您的选择,但我坚持)。

如果情况是字体上的图形处理量较大(渐变颜色,扭曲的对齐方式,上光效果,浮雕效果,雕刻效果...),实际上无法根据需要呈现更多的CSS选项,那么我建议您执行以下操作:

通过CSS(可能是sprite)使用图片,并隐藏带有text-ident的锚文本。html

<a href="work1.html" title="My first work" id="firstWork">My first work</a>

的CSS

#firstWork {display: block; width: 200px; height: 150px; background-image:url('img/firstwork.jpg'); text-ident: -999em;}

这是一种技术。是的,我知道,Google可以对此进行惩罚,但您知道,我从未听说过有任何一个站点会因使用此方法而受到惩罚。

另一种方法是将锚标记ALONG内的img标签与文本一起使用,然后使用CSS隐藏文本并根据需要更正img的位置。最后一个选项使您可以在图像中添加alt,title,longdesc,从而增加索引的信息量和质量。

您甚至可以使用最后一个选项走得更远,并寻求更好,更新鲜的解决方案:使用可用于HTML5的图形标签以及figcaption。这个想法是保持锚->图-> img + figcaption。

Figcaption将充当锚文本角色,您可以使用CSS来隐藏它。

好吧,3解决方案。选一个。我会去的最后一个。


非常感谢您的回答 !您的解决方案真的很有趣,尤其是最后一个。
Wookai 2010年

5

uck 她确实需要解决字体问题,因为这将杀死网站的可访问性,并导致所有其他类型的问题,例如放慢页面的呈现速度等等。

话虽如此,您可以尝试将longdesc属性添加到图像。很难说搜索引擎给予了多少重量(如果有的话),但是它可能大于零。


好吧,这里的alt标签不是可访问性吗?不过,感谢longdesc提示,我不知道它的存在。
Wookai 2010年

1
+1听起来像是一个向客户介绍她的理想字体如何无法获得理想结果的机会……尽管,不幸的是,一些客户非常反对接受“应该”工作的HTML文档。
danlefree 2010年

3

虽然现在所有主要浏览器中的Web字体都是非常标准的字体,但弄清楚不同字体格式的跨浏览器错综复杂性可能很棘手。

Google提供了一个不错的网络字体api和字体目录,以帮助您在这里找到有用的信息。


2

甚至将带有alt标签的图像用作访问网站其他页面的唯一方法,并不能真正为Google带来很大的清晰度。

最好的选择是说服您的朋友,您需要页面或站点上某处的文本链接才能解决问题。例如,如果您能够设置包含所有文本链接的站点地图页面,或者在每个页面上具有所有正常链接的下拉菜单。除了链接图像外,它不会造成任何损害。

我建议不要使用隐藏链接,因为Google可能认为这很有害,并降低了您网站的排名或将其标记为垃圾邮件。


我一定会设置一个站点地图,但这不会解决内容索引问题……
Wookai 2010年

@wookai-Google会对它可能不了解的图像链接编制索引。因此,如果您在每个链接中都有一个包含全文的Sitemap页面,它将为Google提供有关您网站页面的更多信息。
Ben Hoffman

2

正如其他人所建议的那样,您不必使用标准的“网络安全”字体。现在有许多可用的字体替换技术可以跨浏览器方式工作。要获得良好的概述,请查看:《 Web设计器字体替换方法指南》。您不必放弃SEO或使用图像SEO。您可以吃蛋糕也可以。


2

我曾经使用背景图片和隐藏的嵌套跨度来做到这一点。对文本浏览器和搜索引擎看起来很棒,并且具有用于更丰富浏览器的自定义字体。

HTML:

<h1><span>Welcome to Hell on Wheels</span></h1>

CSS:

h1 {
    background: url(welcome.gif) no-repeat;
    display: block;
    height: 68px;
    width: 415px;
}
h1 span { display: none; }

输出:

欢迎来到车轮上的地狱

看到它在行动

可以使用此方法替换的文本数量实际上没有限制(以明智的方式使用适当的标签和隐藏样式),但老实说,您的客户想要使用的自定义字体的可读性可能远低于所有常见的Web字体。你真的应该试着让她失望。


您是否在文本浏览器上对此进行了测试?我知道许多屏幕阅读器都会忽略display: none文本,并且我认为纯文本浏览器也会这样做。
莱斯特·马耶斯特(Lèsemajesté),2010年

两者lynxlinks显示文本。如果屏幕阅读器有问题,我会使用h1 span { position: absolute; left: -9999px; }。不过,我没有方便的屏幕阅读器来进行测试。
Annika Backstrom

我想您是对的,但是请注意,这不适用于大多数屏幕阅读器:css-discuss.incutio.com/wiki/Screenreader_Visibility另外,我使用NVDA在Windows上进行测试。如果您想查看它,它是一个FOSS屏幕阅读器。
莱斯特·马耶斯特(Lèsemajesté),2010年

1

sFIR 可能为此目的而工作,但是使用它在客户端会占用大量资源,并且如果您需要在文本中嵌入链接,则可能会很棘手。


1
不过,它比将图像作为正文文本要好100%。这可能是最不专业的事情,你可以在网站上做一个-不突出,没有复制和粘贴,没有反省,没有调整大小...
冒犯君主

1
  1. 只需使用webfonts即可。实际上,任何浏览器都可以正确显示它们(如果将它们放置为其他格式)。只需将它们作为常规文件托管(它们是)。这真的很好的教程。另一优势:您无需思考如何欺骗Google

  2. sIFRCufónFLIR或其他图像精灵-这是真正的老式斗牛,出于未知原因而被发明;)请勿使用。

  3. 在几个图像中键入了很多文本,它们是:

    • 加载时间长
    • 反搜索引擎优化(当然,您可以使用伪装并向Google bot和用户提供不同的内容,但这只是更多工作和测试,而且还有风险[竞争对手网站所有者可能会告诉您使用Google:])

1

尝试使用typeface.js库!您可以通过在页面顶部包括库并为特殊字体元素提供特殊类来使用任何自定义TrueType或OpenType字体。它是免费的,开源的,跨平台的,搜索引擎也会看到您的文字。无需图像;该库可以处理所有这些,您只需像典型的网页一样进行设计即可。


1
辉煌,但在大多数情况下是高度违法的。= P即使您购买了许可证,也很少有可直接嵌入网页的合法商业字体。我猜测类型代工最终承认使用网络字体的部分原因是,这样嵌入的字体不能(轻松地)用于其他目的。但是,如果您上传OTF或TTF字体,那么访问您网站的任何人都将获得一个副本,他们现在可以使用自己想做的任何事情。
冒犯君主

1

这里有很多不错的选择,可以找到答案。似乎字体松鼠(http://www.fontsquirrel.com/fontface/generator)值得一提。是的,Google字体API也很棒。

至于图像替换,我个人建议在一个元素中使用一个跨度,以图像为跨度父级的背景。但是,不要在范围上显示:无,而要在屏幕上绝对显示它。这样,屏幕阅读器仍然可以获得该内容。

我似乎想起了从屏幕上移开以缩进赢得胜利的方法,但也许我穿上了笨拙的裤子。

但也要加倍-嵌入这些字体。


哦,这是我对sifr和cufon的投票。
民谣垃圾2010年


0

用图像构建站点。然后在露水的几个月里,她回来抱怨引擎找不到它,用文字重新构建该网站并收取其他费用!


3
但是,这对我来说似乎有点不负责任。–
Jeff Atwood 2010年

好的,那么如何使用图像创建文本来创建她最喜欢的网站的克隆,并修改hosts文件以指向该克隆,并强迫她使用该网站2周?
冒犯君主

@杰夫,好吧,我只是有些嘲讽……
David Heffernan 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.