Vores egen Joomla hjemmeside
Hvordan kan en hjemmeside blive hurtigere?
Da vores skulle have et nyt design, besluttede vi, at vi ville se, hvor højt op vi kunne komme i både PageSpeed og målrettet brug af søgeudtryk i stedet for enkelte søgeord.
Her kan du se, hvad vi har lavet for at opnå den bedste PageSpeed. Der kommer også et opslag om, hvordan vi har optimeret søgeord.
Alt for mange tror, at det er umuligt, at optimere en hjemmeside til at loade hurtigt. Her kan du se, at det ikke er rigtigt.
Hvorfor skal din hjemmeside skal være hurtig?
- Brugerne stiller større og større krav. De gider ikke sidde at vente på langsomme hjemmesider. Alle erfaringer viser, at brugerne ikke bliver på en langsom hjemmeside. De søger bare efter en anden - en af dine konkurrenters - hjemmeside.
- Hurtige hjemmesider får en bedre placering i søgemaskinerne end langsomme sider
- Hurtigere hjemmesider har en højere konverteringsrate. Dette er bevist i flere undersøgelser. 1 sekund langsommere loadtime giver i en undersøgelse fra Amazon.com næsten ca. 10% færre konverteringer og dermed 10% færre kunder.
Vi har specialiceret os i optimering af Joomla og WordPress hjemmesider. Vi har opbygget en betydelig ekspertise, så vi ved hvilke værktøjer, der skal bruges. Det behøver ikke at koste en bondegård - og hvis resutatet ikke kommer over gennemsnittet på GTMetrix, er det GRATIS.


- Host / WebHotel
- SSD , SSL / HTTPS, HTTP/2 og en god cache
- Template / skabelon
- Big Business med Vertex framework fra Shape5 er kodet, så den integerer optimalt i Joomla's struktur.
- Udvidelser
- Vi har kun brugt de nødvendige udvidelser - og kun fra anerkendte udviklere, som vi kender fra flere års samarbejde.
De vigtigste forudsætninger:
Joomla udvidelser til optimering og sikkerhed
AdminTools Pro
- Oprette og understøtte UTF8MB4 for database
- Vedligeholde og optimere database tabeller
- Oprettelse og styring af .htaccess
- Optimering af browser-cache ved at tilføje ETags, udløbstid
- Komprimering af statiske resourcer
- Tvungen GZip komprimering på forvredne Accept-Encoding headere
JCH Optimize
Kombinere javascript / css filer til førrest muligt - kan variere fra side til side afhængig af, hvad der er publiceret
Kombinere baggrundsbilleder i en sprite
Minimer (Komprimer) og gzip aggregerede filer
Udeluk individuelle filer eller filer fra udvidelser, der ikke aggregerer godt
Udskyde javascript eller placere i nederst på siden - optimerer downloads
2CSB - 2 Click Social Buttons
2CSB - 2 Click Social Bottons loader først Java Script, når bruger vælger at dele etc.
Det betyder, at de nødvendige script fra eksterne servere som Facebook, Twitter etc. kun bliver loaded, hvis brugeren vælger at dele opslaget

Open Graph & TwitterCard
OpenGraph er tilføjet ved at lave tilsidesætninger - og lidt CSS, for at reducere antallet af udvidelser - og derved belaste serveren mindst muligt
Kode eks. fra Content > article > depault.php i toppen lige efter
JHtml::_('behavior.caption');
og før
?>
php kode: // tilføjet for at hente global configuration object - eks. $config->get( 'sitename' );
$config = JFactory::getConfig();
// tilføjet for at hente eks. $content = $doc->getMetaData( “tag-name” );
$doc =& JFactory::getDocument();
$app = JFactory::getApplication();
if (!empty($images->image_fulltext))
{
$timage= htmlspecialchars(JURI::root().$images->image_fulltext);
}
elseif (!empty($images->image_intro))
{
$timage= htmlspecialchars(JURI::root().$images->image_intro);
}
else
{
$timage= JURI::root().'images/fall-back-image.jpg';
}
if (!empty($doc->getMetaData("description")))
{
$metadesc= $doc->getMetaData("description");
}
elseif (isset($this->item->introtext) and !empty($this->item->introtext))
{
$metadesc= strip_tags($this->item->introtext);
}
else
}
$metadesc= strip_tags($this->item->text);
}
$doc->addCustomTag( '
<meta name="twitter:title" content="'.$this->escape($this->item->title).'">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@twittername">
<meta name="twitter:creator" content="@twittername">
<meta name="twitter:id" content="twitter id">
<meta name="twitter:url" content="'.JURI::current().'">
<meta name="twitter:description" content="'.$metadesc.'">
<meta name="twitter:image" content="'.$timage.'">
<meta property="og:title" content="'.$this->escape($this->item->title).'"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="'.JURI::current().'"/>
<meta property="og:image" content="'.$timage.'"/>
<meta property="og:site_name" content="'.$config->get( 'sitename' ).'"/>
<meta property="fb:admins" content="fb admin id"/>
<meta property="fb:app_id" content="fb app id"/>
<meta property="og:description" content="'.$metadesc.'"/>
'