[ic] what i do with interchange

Jeff Dafoe interchange-users@icdevgroup.org
Tue Jan 14 16:43:01 2003


> >     I have a few domains pointed at the same IC site.  I use an apache
> > rewrite rule on the domains to add a parameter and redirect to the IC
> > domain.  Inside of my site, I use those passed parameters to both
control
> > the look of the site and to filter products.  This allows my IC site to
> > completely adopt a different look and offer different types of products
> > depending on the originating domain.
> >     I feed these different domains to the search engines.  Each site
look is
> > "search engine optimized" in a manner that corresponds with that product
> > line.  This allows my single IC installation to get high ranking on a
> > variety of rather-competitive search engine phrases.
>
> Hi...  can you provide more details, such as the actual rewrite rules
> and examples of how you do the filtering within IC? I'd like try this out!

    I have a few domains that are set up to do nothing other than forward to
my main domain.  The apache virtualhost configuration for those domains
contains the following:

  ErrorDocument 404 http://store.subcultural.com/subcultural/index?src=pcing
  RewriteEngine on
  RewriteRule ^.*$
http://store.subcultural.com/subcultural/index?src=pcing  [L,R]

    Those configuration elements redirect to my main domain and add a
parameter.  On the main site, I simply use...

[if cgi src eq pcing]
 <one set of tags>
[elsif cgi src eq pces]
  <a different set]
[/elsif]
[else]
  <another set>
[/else]
[/if]

    ... in various places on the page to output tags specific for that
domain.  I should note that the optimization strategy I am shooting for is
not complete indexing of my catalog but instead focuses on a few keywords
that are key to the entire product line.  The cgi value is lost once the
spider starts to move to the interior pages but in my strategy I do not care
about those pages (although you could pick them up in the value namespace on
interior pages).  The first term I did this with, "punk clothes", now lists
my site in the top 15 results for searches originating from either the
google or inktomi engines.  This is with no sites linking to me, either.  I
just output a page title of "punk clothes", some silly text with "punk
clothes" near the very top of the page, and that's about it.  I have no
experience in search engine submission, I spent about a week in mid-december
doing some research and seeing how I could use the fact that the site is
dynamic to help get good placement.

    For some domains, I send an additional parameter that tells the main
site to only display a certain class of products.  This doesn't have
anything to do with my search engine strategy but instead has to do with the
fact that the "punk" teens don't want to see "goth" clothing and vice versa.
To placate this idiocy, I have some logic in my page header (LEFTRIGHT_TOP)
that looks for an incoming cgi variable called "scene".  If it is present, I
set a scratch variable called "filter".  If filter is set, product scan tags
have additional parameters appended to them.  These parameters look for
keywords in the "inactive" field (yes, I should've created another field for
this) by adding se=[scratch filter]/op=rm/sf=inactive to the scan string.  I
have also modified the promo, random, and cross components to skip results
that don't meet the filter criteria.  This effectively allows for certain
portions of my product catalog to be displayed.
    You can see this in action at www.subcultural.com .  The filter thing is
on the left hand side.  You might notice that you can go three pages into
the search results and then filter to another "scene" and the search will
automatically be reissued.  That is a little more complicated to do and I
didn't cover how to do it in this message.  You can also go to
www.subcultural.com?scene=punk and you will see that the punk filter will be
applied when the page loads.  If you add &src=pcing you will see that the
title and some of the text on the page changes as well.  My using the
rewrite rules as described above and various combinations of the two
variables, I can control the page look and the page keywords on a per-domain
basis.

    It's all really simple to do, since it's primary setting, testing, and
retrieving of scratch, cgi, and value variables.  The sky's the limit as far
as what you can do once you realize the flexibility that dynamic page
generation offers.  Also, don't restrict yourself with the default
Foundation components.  I think use of the default category_vertical or
category_horizontal navigation is one of the major stumbling blocks we all
have, design-wise.  I use a modified version at subcultural but it's still
very recognizeable.  At sophee, we didn't use any Foundation components.
The nav isn't even database driven, it's done through an include file loaded
with conditionals.  Most of the logic on a sophee page is right in the page.
By not trying to component-ize everything at sophee we had a lot more
flexibility.  Flexibility is interchange's greatest feature and I think when
this feature is heavily utilized it yields the nicest results.


Jeff