任何可能与我处于相同位置的人;努力理解 Asual 的 swfAddress SEO 解决方案 我得出了一个令人满意的结论。
我使用了一个 index.php 并支持 datasource.php,其中包含 switch 语句中的所有结果。switch 语句首先在 index.php 中调用,并通过从通过 GET 发送的 id(例如?id=video)收集以下信息来运行。然后 switch 语句继续匹配适当的内容,为脚本的其余部分设置变量以供使用。我使用了以下内容:
$title
$description
$keywords
$canonical // hint: -> 'domain/video?id=somevid' to 'domain.com/video/' (see canonical in google)
$stylesheet
$body
在 datasource.php 之后,我在它下面包含一个“head.php”,它获取 html 滚动、doctype 等(但主要关注 <head>)并列出特定于该页面的关键字、描述和内容.
Swfaddress javascript 将在 Flash 用户进入时设置深度链接:
SWFAddress.setValue(< ?php echo "/$id" ?>); // eg."/video"
index.php 使用 swfobject 嵌入 - 我使用静态嵌入(我在某处听说它对 SE 更好,更多未来证明,但谁知道呢,不过我更喜欢它)。替代内容是一个 div,它与之前提取的存储的 $body 相呼应。
最后我使用 mod_rewrite 来设置我的可抓取链接。在测试期间,我直接引用我的文件。
< IfModule mod_rewrite.c >
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /
RewriteRule ^home/? ?id=home [NE,L]
RewriteRule ^about/? ?id=about [NE,L]
RewriteRule ^video/? ?id=video [NE,L]
< /ifModule >
这确保我的链接看起来像这样:http ://www.mydomain.com/video/
结果是:http ://mydomain.com?id=video
搜索引擎可以完美地抓取它,只查看用户会看到 flash 的 html 内容,当他们点击链接时,他们会看到如下内容:
http://www.mydomain.com/video/#/contact
正如我所说,它令人满意,不如 Asual 的 SEO 解决方案理想,但足够干净。我在任何地方都找不到关于 swfaddress 的 SEO 示例的任何信息,而且我当然不知道足够多的 php 来深入研究大量未注释的代码。
哦,一定要把它包含在你的 index.php 的头部,它会确保你的链接不会在你的 swfs 加载外部文件时搞砸。
< base href="http://www.mydomain.com/" />
希望在某些时候对某人有所帮助。