I'm in no way a Zen Cart expert... but I don't think what you describe is the issue here (granted, if it were, I'd need a few more details on your proposed fix. I tried to definite META_TAG_FBTITLE without the str_replace, with just straight text, in what seemed like the places you describe to no avail)


META_TAG_FBTITLE, as far as I can tell, is ONLY defined for products;


define('META_TAG_FBTITLE', str_replace('"','',zen_clean_html($product_info_metatags->fields['products_name'])));

I tried redefining it for Category names and dropped into - as far as I could tell - the corresponding places in the code where Zen Cart assembles meta tags for categories (within the "else" states for 'EOF';


$category_metatags = $db->Execute($sql);
if ($category_metatags->EOF) {
$meta_tags_over_ride = true;
} else {
define('META_TAG_TITLE', str_replace('"','', zen_clean_html($category_metatags->fields['categories_name']) . PRIMARY_SECTION . TITLE . TAGLINE));
define('META_TAG_DESCRIPTION', str_replace('"','',TITLE . PRIMARY_SECTION . zen_clean_html($category_metatags->fields['categories_name']) . SECONDARY_SECTION . KEYWORDS));
define('META_TAG_KEYWORDS', str_replace('"','',KEYWORDS . METATAGS_DIVIDER . zen_clean_html($category_metatags->fields['categories_name'])));
}

// EOF


There's a couple places where this 'EOF' sequence occurs for categories (only once for products, where FBTITLE is defined at the end of the ELSE statement), I tried to define FBTITLE in them one at a time, and then in all of them at once, to no avail.


But yeah, as far as I can tell, META_TAG_FBTITLE is ONLY defined that one time for products.


Not sure if that helps explain my issue better, thanks for taking the time! ;)