"Roll Your Own" JavaScript and PHP Syndication
|
|
|
| 2.8/5.0 (4 votes total) |
|
|
|
Will Bontrager April 28, 2006
|
When you have content on your web site that you wish to make
available for others to publish, yet want control of what is
published, it can be syndicated with JavaScript or with PHP.
Let me stress that you can control what is published, not
if it is published.
If you wish the ability to ban certain domains from having
your content delivered to them, and the ability to limit
delivery to only certain domains you specify, Master
Syndication Gateway V2 from http://willmaster.com/gateway
can do that. It's excellent software.
But if you want to allow anyone to publish your content, so
long as you control what is published, this article will
show you a way to do it yourself.
How You Control What Is Published
The content others publish is delivered from your server to
their web page with either JavaScript or PHP.
If you make a change to the content, the change is
immediately available on all remote web pages where your
content is published. Thus, you could make seasonal changes
or update news or rotate ads and so forth.
Because it is on your server, you control the content.
Differences Between JavaScript and PHP Syndication
This table shows differences between the two syndication
methods, JavaScript and PHP:
|
JavaScript |
PHP |
Easy for site owner to prepare content. |
No |
Yes |
Easy for syndication sites to use. |
Yes |
Yes |
Search engine friendly syndicated content. |
Unlikely |
Yes |
Will work on all syndication web sites. |
Yes |
No |
Will work in all browsers. |
No |
Yes |
At first glance, it would seem that PHP is the clear winner.
The one "No," however, could have a huge impact on how many
sites can carry your content.
Weigh the importance of each line of the table before making
a decision for one or the other, or for using both methods.
Line #1 Easy for site owner to prepare content.
To syndicate with JavaScript, the syndication content needs
to be converted to JavaScript code. With PHP, no conversion
is required. Both methods are addressed in their respective
sections, below.
Line #2 Easy for syndication sites to use.
Both JavaScript and PHP require only a couple lines of code
that remote syndication web site owners paste into their
pages. The code pulls your content into the page.
Line #3 Search engine friendly syndicated content.
It is possible but unlikely that search engine spiders
will follow URLs of JavaScript syndicated content. PHP
syndicated content appears to spiders just like static
text.
Line #4 Will work on all syndication web sites.
The JavaScript code will work on all web pages (provided
the browser is JavaScript enabled, see next). PHP, on the
other hand, requires that the server has PHP installed and
configured in a certain way and it requires web pages to
have certain file name extensions, the most common being
extension .php
Line #5 Will work in all browsers.
The JavaScript method requires browsers to be have
JavaScript turned on. Without JavaScript, the content
is not displayed.
Because PHP appears to browsers just like static text
would, it works just fine in all of them.
Deciding What To Syndicate
Almost anything that a regular web page can have, syndicated
content can have, too.
There are exceptions and restrictions, however.
The content you will be syndicating can have no relative
URLs. All URLs must be absolute http://... URLs — images,
links, all of them. Because your content will be on other
servers, relative URLs will break or point to actual
locations on the remote server instead of on yours.
Style sheets that modify predefined HTML tags (like <p> or
<h1>, etc.) should not be syndicated. When such a style
sheet is syndicated, whether in the content or as a remote
file, it can have an effect on all content on the page, not
just your syndicated content. If you mess with a web page's
style you could make site owners unhappy.
If you must use CSS styles, define your own style with names
unlikely to be used on any web sites your content may be
published at.
Forms, sounds, images, additional JavaScript, all can be
published on remote web sites. Just remember that URLs
(to sounds, images, and so forth) must be absolute
http://... URLs.
SSI tags and PHP code can be processed before delivering
the content with the PHP syndication method, but not when
syndicating with JavaScript. (SSI tags and PHP code are the
only exception to the "all URLs must be absolute" rule, and
that's because they are processed before the content is
delivered to the remote web site.)
Only content that would normally go in the BODY area of
web page source code should be published.
The JavaScript Method — Preparation
Preparing the content for JavaScript syndication isn't hard,
but can be tedious.
First, put the content for syndication into a separate file.
Note that SSI and PHP aren't processed when syndicated with
this method. To syndicate content processed with SSI tags
or PHP code:
-
Put the SSI/PHP on a web page on your server.
-
Type the URL of the web page into your browser.
-
Use your browser's "View Source" menu item and copy
the relevant content.
-
Paste the content into the file containing the
content to be syndicated.
Edit the syndication content file with these steps:
-
Precede each backslash ( \ ) with another
backslash: \\
-
Precede each apostrophe ( ' ) with a
backslash: \'
-
Replace the word: script
with: scri'+'pt
wherever
it occurs. (This is to prevent browsers from
misinterpreting the word "script" as JavaScript
that must be executed independently.)
-
Begin each line with: document.writeln('
-
End each line with: ');
Save the file with a .js file name extension and put it on
your server in a location where your browser can access it
(type the file's URL into your browser to test).
The JavaScript Method — Syndication
Here is the JavaScript that remote syndication site owners
paste on their web pages. Where they put the JavaScript is
where your content appears:
<script type="text/javascript" language="JavaScript" src="http://example.com/file.js"> </script>
Replace http://example.com/file.js with the URL to the
syndication content file on your server.
The PHP Method — Preparation
Put the content for syndication into a separate file.
Save the file with an .html (or other) file name extension
and put it on your server in a location where your browser
can access it.
Other file name extensions that may be used are .htm, .php,
or .shtml — .php if you require PHP code to be processed
before delivering the content or .shtml if you require SSI
tags to be processed.
Type the file's URL into your browser to test.
The PHP Method — Syndication
Here is the PHP that remote syndication site owners paste
on their web pages. Where they put the PHP is where your
content appears:
<?php @readfile('http://example.com/file.html'); ?>
Replace http://example.com/file.html with the URL to the
syndication content file on your server.
Automating Things
After you've done things manually for a while, you may
wish to automate the process. The Master Series at
http://willmaster.com/scripts has several syndication
software tools to do exactly that.
Syndication software can have control panels to paste in
the content to be syndicated, to prepare the content, to
generate the code remote syndication sites paste into
their pages, and can maintain many different syndication
channels.
Some syndication software inserts affiliate codes into
syndicated content, automatically.
____ Will Bontrager
Copyright 2006 Bontrager Connection, LLC
|