Jonathon, I'm not sure I understand the question entirely, but couldn't you just make a DTML method called "meta_header_global" in the root of the object database which contains: <!-- everything from this point to the /head tag is constant for all pages --> <LINK REL = "Home" HREF = "http://www.stamp-coin.com/index.html" TITLE = "Stamp And Coin Shop Main Page"> <LINK REL = "Index" HREF = "http://www.stamp-coin.com/sitemap.html" TITLE = "Stamp And Coin Shop Site Map"> <LINK REL = "Toc" HREF = "http://www.stamp-coin.com/links/index.html" TITLE = "Stamp And Coin Shop Site Index"> <LINK REL = "Help" HREF = "http://www.stamp-coin.com/links/help.html" TITLE = "The Stamp And Coin Shop Web Site Navigation Help Page"> <LINK REL = "Copyright" HREF = "http://www.stamp-coin.com/links/copyright.html" TITLE = "Stamp And Coin Shop Copyright Page"> <LINK REL = "Glossary" HREF = "http://www.stamp-coin.com/links/abreviation.html" TITLE = "A Philatelic Glossary"> <LINK REL = "Stylesheet" HREF = "http://www.stamp-coin.com/common/default.css" TYPE = "text/css"> <LINK REL = SCHEMA.VW96 HREF="http://vancouver-webpages.com/VWbot/VW96-schema.html"> <META NAME = "author" CONTENT = "Jonathon Blake" > <META NAME = "Generator" CONTENT = "Massage.py Version 1.0.15.1"> <META NAME = "VW96.objecttype" CONTENT = "Catalog"> <META NAME = "Robots" CONTENT = "All"> <LINK REV = "Made" HREF = "mailto:jblake@stamp-coin.com"> <META HTTP-EQUIV = "distribution" CONTENT = "global" > <META HTTP-EQUIV = "reply-to" CONTENT = "jblake@stamp-coin.com" > <META HTTP-EQUIV = "Resource-Type" CONTENT = "catalog" > <META HTTP-EQUIV = "Content-Style-Type" CONTENT = "text/css" > <META HTTP-EQUIV = "Content-Script-Type" CONTENT = "text/javascript" > <META HTTP-EQUIV = "Content-language" CONTENT = "en-US" > <META HTTP-EQUIV = "Copyright" CONTENT = "John Konrad / The Stamp And Coin Shop 1999" > <META NAME = "Rating" CONTENT = "General"> <META http-equiv="PICS-Label" content='(PICS-1.1 "http://www.adequate.com/ratings/" l gen true comment "ADEQUATE.com" for "http://www.stamp-coin.com/index.html" r (WEB 2 v 0 s 0 l 0 d 0))'> <META http-equiv="PICS-Label" content='(PICS-1.1 "http://www.rsac.org/ratingsv01.html" l gen true comment "RSACi North America Server" by "jblake@stamp-coin.com" for "http://stamp-coin.com" on "1999.06.21T17:51-0800" r (n 0 s 0 v 0 l 0))'> <META http-equiv="PICS-Label" content='(PICS-1.1 "http://vancouver-webpages.com/VWP1.0/" l gen true comment "VWP1.0" by "jblake@stamp-coin.com" on "1999.06.21T15:21-0700" for "http://www.stamp-coin.com" r (MC 0 Gam -1 Com 3 SF 0 Edu -1 S 0 Can 0 V 0 Env 0 P 0 Tol 0 ))'> <META http-equiv="PICS-Label" content='(PICS-1.1 "http://www.weburbia.com/safe/ratings.htm" l r (s 0))'> <META http-equiv="PICS-Label" content='(PICS-1.1 "http://www.classify.org/safesurf/" l gen true for "http://www.stamp-coin.com/" r (SS~~000 1))'> Then for each different section in your site that requires section-specific meta-headers, create a "meta_header_local" DTML method in that folder. Put only the meta-header info in there that you need for that section. Then in standard_html_header (at the root of your database, most likely, do this): <HTML> <HEAD> . . . (stuff) . . <!--#if meta_header_gloabl--> <!--#var meta_header_global--> <!--#/if--> <!--#if meta_header_local--> <--#var meta_header_local--> <!--#/if--> . . (stuff) . . </HEAD> </HTML> This is classical factoring and aquisition. Nothing special here. HTH, Chris Jonathon wrote: I've been generating the pages for my web site using a couple of scripts, which enable me to somewhat customize the Meta Headers. Now that I am moving the site to Zope, I still need those meta headers. << Anybody who does ECommerce relies on meta headers, to be in the search engines. The simple rule is no meta headers, no indexing by the big five. >> Keeping themeta data lines that are constant is easy. Just add it to standard_html_header. Is there a way to have the header data that changes for each page, somehow be incorporated into a one tag --- like the the current <!--#var standard_html_header --> would be the same on each page? If so, how would I do it? Going through the docs I don't see any mention of this "problem". << For an ECommerce solution, that 'problem' _might_ be enough to disqualify Zope, before anything else is looked at. >> Doing those headers manually is not a viable option. << Can you produce 60 000 pages a week by hand? >> The following is a typical header. << Maybe atypical, in that it has slightly fewer keywords and a shorter description than most pages have. >> <HEAD> <TITLE> Konrad's Premium Stamps: Great Britain Scott # 1, Stanley Gibbons # 1, Michel # 1 </TITLE> <LINK REL = "Contents" HREF = "index.html"> <LINK REL = "Next" HREF = "john_www_15000.html"> <LINK REL = "Previous" HREF = "john_www_14998.html"> <LINK REL = "Prev" HREF = "john_www_14998.html"> <LINK REL = "Up" HREF = "john_www_500_table.html"> <META NAME = "creation_date" CONTENT = " Friday, 25 June 1999 12:00:00 GMT " > <META NAME = "last_update" CONTENT = " Sunday, 19 September 1999 24:00:00 GMT " > <META NAME = "expires" CONTENT = " Wednesday, 1 October 1999 24:00:00 GMT " > <META NAME = "revisit-after" CONTENT = "10 days"> <META NAME = "Keywords" CONTENT = "stamp-collection, Great Britain, Scott # 1,Stanley Gibbons # 1b, Y-T # 1, Penny Black"> <META NAME = "Description" CONTENT = "Konrad's Premium Stamps: Great Britain Scott # 1: Superb Mint Never Hinged"> <!-- everything from this point to the begining head tag is different for each page. --> </HEAD> xan jonathon