Die Inhaltsanalyse zeigt, ob Seitentitel, Beschreibungen, Überschriften, Bilder und Textstruktur Suchmaschinen und Besuchern klare Signale geben.
Seitentitel
Start - Kohler Shop
Länge : 19
Bei kohler-shop.de wirkt der Seitentitel stimmig: 19 Zeichen sind lang genug für eine aussagekräftige Formulierung und bleiben zugleich innerhalb des empfohlenen Rahmens von 10 bis 70 Zeichen.
Seitenbeschreibung
Start
Länge : 5
Die Meta-Beschreibung von kohler-shop.de hat 5 Zeichen und sollte besser auf 70 bis 160 Zeichen gebracht werden. Eine präzise Beschreibung macht die Seite für Suchmaschinen und Nutzer leichter einordenbar. Zur Längenprüfung können Sie dieses kostenlose Werkzeug nutzen.
Suchbegriffe
kohler-shop.de nutzt keine META-Suchbegriffe. Der wichtigste SEO-Faktor bleibt der sichtbare Inhalt, aber ergänzende Keywords können bei der Pflege und Dokumentation der Seite hilfreich sein. Bei Bedarf können Sie dieses kostenlose Werkzeug verwenden.
Og META Eigenschaften
Für kohler-shop.de wurden keine OG Properties erkannt. Eigene Open-Graph-Daten helfen, Titel, Beschreibung und Bild beim Teilen der Seite besser zu steuern. Mit diesem kostenlosen Werkzeug lassen sich passende OG-Angaben erstellen.
Überschriften
H1
H2
H3
H4
H5
H6
0
31
1
4
0
0
[H2] Unser Produktsortiment
[H2]
Umwelt
[H2]
Lager
[H2]
Transport
[H2]
Betrieb
[H2]
Büro
[H2] Fragen? Kontaktieren Sie uns.
[H2] Katalog-Verlinkung aus OXOMI
[H2] Video-Verlinkung aus OXOMI
[H2] Neu im Sortiment
[H2]
Schwerlast-Euronormbehälter, PP, Wände durchbrochen + Boden geschlossen, LxBxH 400x300x320 mm, Farbe rot, VE 4 Stück
Artikelnummer: E1979877
[H2] Unser Katalog
[H2] Im Angebot
[H2]
Erste Hilfe Koffer klein QUICK-CD B260xH170xT110ca.mm orange
Artikelnummer: E972195
[H2] Kohler Betriebseinrichtungen - Ganzheitliche Lösungen für moderne Arbeitsplätze
[H2] Eine Auswahl unserer Produkte
[H2]
Ketten-Sperrpfosten, Kunststofffuß dreieckig betongefüllt 2,9 kg, Pfosten aus Kunststoff rot-weiß, 870 mm hoch, Durchm. 40 mm
Artikelnummer: E851992
[H2]
Fächerschrank, 2x5 Fächer, Fachbreite innen 190 mm, BxTxH 460x480x1950 mm, RAL 7035/5010
Artikelnummer: E868666
[H2]
Kufenkarre, Schaufel-BxT 320x250 mm, BxTxH 570x543x1305 mm, Traglast 250 kg, Luftbereifung
Artikelnummer: E1320678
[H2]
Handgabelhubwagen, Traglast 2500 kg, Gabellänge 1150 mm, Hubbereich 85-200 mm, Bereifung Polyurethan/Polyurethan tandem
Artikelnummer: E840731
[H2]
Rundschlingen-Sortiment in Sport-/Freizeittasche 11tlg.
Artikelnummer: E404205
[H2]
Steckregal-Set, best. aus 1 Grund- + 3 Anbaufeldern, verzinkt, 4 Fachböden/Feld, BxTxH 4000x400x2000 mm
Artikelnummer: E823379
[H2] Unsere Top-Marken
[H2] Ausgewählte Marken
[H2] Artikel mit d:itemBoxGrid
[H2] Ausgewählte Produktgruppen
[H2] Service
[H2] Unternehmen
[H2] Adresse
[H2] \n \n {{shortText}}\n \n\n \n {{itemNumberLabel}}: {{itemNumber}}\n \n \n \n \n \n \n {{#recommendedPrice}}\n {{recommendedPrice}}\n {{\/recommendedPrice}}\n\n \n {{effectivePrice}}\n\n {{#effectivePriceSuffix}}\n {{effectivePriceSuffix}}\n {{\/effectivePriceSuffix}}\n \n\n {{#secondaryPrice}}\n \n {{secondaryPrice}}\n {{secondaryPriceSuffix}}\n \n {{\/secondaryPrice}}\n\n \n {{priceQuantityLabel}} {{priceQuantity}}\n \n \n \n \n \n\n\n';
var VARIANT_FEATURES_TEMPLATE = '{{title}}\n\n{{#hasFeatures}}\n\n {{#features}}\n \n \n {{feature}}\n \n \n {{value}} {{unit}}\n \n \n {{\/features}}\n\n{{\/hasFeatures}}\n\n{{^hasFeatures}}\n {{noCommonFeatures}}\n{{\/hasFeatures}}';
function loadItemText() {
var overwriteLongtext = true;
var $longtext = $("#output-longtext");
if (overwriteLongtext || $longtext.length === 0 || isEmpty($longtext.html().trim())) {
loadOxomiItemText();
}
}
function load3dViewer() {
var shouldDisplay3dViewer = false;
if (shouldDisplay3dViewer) {
loadOxomiItem3dModel();
}
}
/**
* Increments the item quantity by a certain amount
*
* Uses toFixed to round the result to the right number of decimals to prevent errors due to floating point
* arithmetic.
*
* @param id the ID of the input field to increment
* @param orderStep the amount to increment
*/
function incrementItemQuantity(id, orderStep) {
var $input = $('#' + id);
var result = parseFloat((parseFloat($input.val()) + orderStep).toFixed(3));
$input.val(result);
}
/**
* Decrements the item quantity by a certain amount
*
* Uses toFixed to round the result to the right number of decimals to prevent errors due to floating point
* arithmetic.
*
* @param id the ID of the input field to decrement
* @param orderStep the amount to decrement
* @param minOrderQuantity the minimum order quantity
*/
function decrementItemQuantity(id, orderStep, minOrderQuantity) {
var $input = $('#' + id);
var result = parseFloat((parseFloat($input.val()) - orderStep).toFixed(3));
if (result < minOrderQuantity) {
$input.val(minOrderQuantity);
} else {
$input.val(result);
}
}
var IMAGE_OVERLAY_TEMPLATE = '' +
' ' +
' ' +
' {{#images}}' +
' ' +
' ' +
' ' +
' ' +
' ' +
' {{/images}}' +
' ' +
' ' +
' ' +
' ' +
' ' +
'';
function createImageOverlay($container) {
// Event handler that opens the item image overlay and displays the clicked image
var showArrows = true;
var fadeIn = false;
$container.on('click', 'a', function (e) {
e.preventDefault();
var currentUrl = $(this).attr('href');
var currentIndex = 0;
var images = [];
// Find all item images and the index of the one that was clicked
$container.find('.item-image-js').filter(function (index, element) {
return !$(element).parent().hasClass('slick-cloned');
}).each(function (index, element) {
var url = $(element).attr('href');
images.push(url);
if (url === currentUrl) {
currentIndex = index;
}
});
if (images.length === 0) {
return;
}
// Generate and add the overlay to the DOM
var $overlay = $(Mustache.render(IMAGE_OVERLAY_TEMPLATE, {'images': images}));
var $slider = $overlay.find('.image-overlay-images-js');
$('body').addClass('image-overlay-open').append($overlay);
if (fadeIn) {
$overlay.hide().fadeIn();
}
// Generate the slider
$slider.slick({
slidesToShow: 1,
dots: true,
arrows: showArrows,
initialSlide: currentIndex
});
// Event handler for pressing escape, left/right arrow keys
var keydownHandler = function (e) {
if (e.keyCode === 27) {
closeOverlay();
} else if (e.keyCode === 37) {
$slider.slick('slickPrev');
} else if (e.keyCode === 39) {
$slider.slick('slickNext');
}
};
// Function that closes the overlay and removes the escape key event handler
var closeOverlay = function (e) {
$('body').removeClass('image-overlay-open');
$overlay.remove();
$(document).off('keydown', keydownHandler);
};
// Click on the close button closes the overlay
$overlay.find('.image-overlay-close').click(function (e) {
e.preventDefault();
closeOverlay();
});
// Click on the background closes the overlay
$overlay.click(function (e) {
if (e.target !== this) {
return;
}
closeOverlay();
});
// Event handler for keyboard inputs
$(document).on('keydown', keydownHandler);
});
}
var AUTOCOMPLETE_SUGGESTION_TEMPLATE =
'' +
' {{label}}' +
' {{#showAddressLabelBox}}' +
' ' +
' {{addressLabel}}' +
' ' +
' {{/showAddressLabelBox}}' +
' {{#hasDescription}}' +
' ' +
' {{#descriptionLines}}' +
' {{.}}' +
' {{/descriptionLines}}' +
' ' +
' {{/hasDescription}}' +
'';
function enableAutocomplete(field) {
function createSubmitData(key, value) {
var data = {};
var fieldData = field.data();
for(f in fieldData) {
if (fieldData.hasOwnProperty(f)) {
if (f != 'autocomplete'
&& f != 'optional'
&& f != 'select2')
{
data[f] = fieldData[f];
}
}
}
data[key] = value;
return data;
}
if (field.data('optional') && field.is(":empty")) {
field.prepend('');
}
field.on('select2:open', function (e) {
$('.select2-search__field').each(function(e) {
var search = $(this);
if (search.parent().hasClass('select2-search--inline')) {
// Don't add placeholder and graphic to inline search fields
return;
}
var placeholder = field.attr('data-searchtext');
if (typeof placeholder === 'undefined' || placeholder === '') {
placeholder = 'Geben Sie einen Suchtext ein…';
}
search.attr('placeholder', placeholder);
});
});
field.on('select2:unselect', function(e) {
$(this).html('');
e.preventDefault();
e.stopPropagation();
});
field.select2({
allowClear: field.data('optional'),
placeholder: field.data('placeholder') || 'Ihre Auswahl…',
dropdownParent: field.parent(),
minimumInputLength: 0,
tags: field.data('dynamic-option'),
templateResult: function (result) {
if (!result) {
return undefined;
}
var hasDescription = result.completionDescription && result.completionDescription !== '';
if (field.attr('data-multiline')) {
var jsonAddress = getAddressAsJson(result.value);
return $(Mustache.render(AUTOCOMPLETE_SUGGESTION_TEMPLATE, {
'label': result.fieldLabel,
'hasDescription' : hasDescription,
'descriptionLines': hasDescription ? result.completionDescription.split('\n') : null,
'showAddressLabelBox': jsonAddress.isErpAddress && jsonAddress.addressLabel,
'addressLabel': jsonAddress.addressLabel,
'addressLabelStyle': jsonAddress.addressLabelStyle
}));
}
return hasDescription ? result.completionDescription : result.completionLabel;
},
language : {
loadingMore: function() {
return 'Lade Daten…';
},
searching: function () {
return 'Suche…';
},
noResults: function () {
return 'Keine Suchtreffer…';
}
},
ajax: {
url: '/' + field.data('autocomplete'),
dataType: 'jsonp',
quietMillis: 100,
data: function(term, page) {
return createSubmitData('query', term.term);
},
processResults: function (data, page) {
return { results: data.completions, more: false };
}
}
});
}
function getAddressAsJson(addressAsJson){
try {
return JSON.parse(addressAsJson);
} catch(e) {
return {};
}
}
$(document).ready(function() {
$('select[data-autocomplete]').each(function(e) {
var field = $(this);
enableAutocomplete(field);
});
$('.select2-select').each(function(e) {
var field = $(this);
if (field.data('optional')) {
field.prepend('');
}
field.select2({
allowClear: field.data('optional'),
placeholder: field.data('placeholder') || 'Ihre Auswahl…',
dropdownParent: field.parent(),
minimumResultsForSearch: 10,
width : '100%',
language : {
maximumSelected: function(args) {
return 'Sie können maximal ' + args.maximum + ' Elemente auswählen';
},
searching: function () {
return 'Suche…';
},
noResults: function () {
return 'Keine Suchtreffer…';
}
},
escapeMarkup: function(m) {
// Do not escape HTML in the select options text
return m;
}
});
});
});
let oxomi_settings = {
server: 'https://oxomi.com',
portal: '1534802',
accessToken: '',
roles: '',
user: 'sellsite',
hasBasket: true,
disableStoryLinks: false,
infoplayMenuTitle: 'Weitere Informationen...'
};
if (false) {
oxomi_settings.filterLanguage = 'de';
}
// Set the interface language
oxomi_settings.language = 'de';
if (typeof buzz !== 'undefined') {
triggerOxomiInit();
} else {
document.addEventListener("buzz-ready", triggerOxomiInit);
}
function triggerOxomiInit() {
if (typeof oxomi !== 'undefined') {
sellsite.initializeOxomi(oxomi_settings);
} else {
document.addEventListener("oxomi-loaded", function (e) {
sellsite.initializeOxomi(oxomi_settings);
});
}
}
/**
* Opens the OXOMI portal and records a page impression event for it.
*/
function openOxomiPortalWithEventRecording() {
oxomi.openPortal();
recordPageImpressionEvent('OXOMI_OPEN_PORTAL');
}
const decodeEntities = (function() {
// this prevents any overhead from creating the object each time
var element = document.createElement('div');
function decodeHTMLEntities (str) {
if(str && typeof str === 'string') {
// strip script/html tags
str = str.replace(/]*>([\S\s]*?)/gmi, '');
str = str.replace(/ new row of tokens
lastTokenTop = this.getBoundingClientRect().top;
tokensWidth = 0;
}
// + 1 because outerWidth gets the width rounded and else it might not fit because of 1px
tokensWidth += $(this).outerWidth(true) + 1;
});
var additionalElementsWidth = 0;
$container.find(".input-width-js:not(.hide)").each(function () {
// + 1 because outerWidth gets the width rounded and else it might not fit because of 1px
additionalElementsWidth += $(this).outerWidth(true) + 1;
});
var inputWidth = $container.width() - tokensWidth - additionalElementsWidth;
var minWidth = parseInt(input.tokenElement.css('min-width'));
if (minWidth > inputWidth) {
inputWidth = $container.width() - additionalElementsWidth;
}
input.tokenElement.css('max-width', inputWidth);
input.tokenElement.width(inputWidth);
},
resize: function (e) {
input.resizeInputField();
events.onResize.forEach(function (handler) {
handler(e);
});
},
/**
* Shows a small token removal icon in the input field.
*/
showTokenRemoval: function () {
if (input.tokenRemovalElement) {
input.tokenRemovalElement.removeClass("hide");
}
},
/**
* Hides the token removal icon.
*/
hideTokenRemoval: function () {
if (input.tokenRemovalElement) {
input.tokenRemovalElement.addClass("hide");
}
},
hasTokens: function () {
return input.getTokens().length > 0;
},
hasToken: function (token) {
var contains = false;
$.each(input.getTokens(), function (i, element) {
if (element.value === token.value) {
contains = true;
}
});
return contains;
},
getTokens: function () {
return input.element.tokenfield('getTokens');
},
removeToken: function (tokenToRemove) {
var newTokens = input.getTokens().filter(function (token) {
return tokenToRemove.value !== token.value;
});
input.element.tokenfield("setTokens", newTokens);
var event = {attrs: tokenToRemove};
events.onRemovedToken.forEach(function (handler) {
handler(event);
});
},
/**
* Cleares the token field of all entries.
*/
clearTokens: function () {
input.element.tokenfield("setTokens", []);
input.resizeInputField();
events.onClearTokens.forEach(function (handler) {
handler();
});
},
/**
* Hides the token removal icon if there are no tokens left, else the icon is shown.
*/
updateTokenRemovalVisibility: function () {
if (input.hasTokens()) {
input.showTokenRemoval();
} else {
input.hideTokenRemoval();
}
},
};
var events = {
/**
* Handlers are called when user hits the enter key in the input field.
*/
onEnter: [],
/**
* Handlers are called when a token is removed from the tokenfield.
*
* Called with the event object as parameter.
*/
onRemovedToken: [],
onResize: [],
/**
* Handlers are called when all tokens are cleared from the tokenfield.
*
* Called with the event object as parameter.
*/
onClearTokens: [],
/**
* Handlers will be called before the creation of a token.
*
* Called with the token as parameter. The token can be changed inside the handler and this will be carried
* over into the tokefield.
*
* Returning false will prevent the token from being created.
*/
onBeforeCreateToken: [],
/**
* Will be called after tokenfield created a new token.
*/
onCreatedToken: []
};
return {
eventNames: function () {
return Object.keys(events);
},
/**
* Adds event handlers.
*
* @param name of the event
* @param callback the function to be executed if the event is triggered
*/
on: function (name, callback) {
if (this.eventNames().includes(name)) {
events[name].push(asFunction(callback));
} else {
throw "Callback " + name + " is no valid event.";
}
},
/**
* Unbinds one or all event handlers.
*
* @param name of the event
* @param callback the function to unbind, if left empty all handlers are removed
*/
off: function (name, callback) {
if (!this.eventNames().includes(name)) {
throw "Callback " + name + " is no valid event.";
}
if (callback === undefined) {
events[name] = [];
return;
}
var remainingHandlers = events[name].filter(function (value) {
return value !== asFunction(callback);
});
events[name] = remainingHandlers;
},
start: function (config) {
input.init(config);
},
getInput: function () {
return input.getValue();
},
appendTokens: function (tokens) {
input.appendTokens(tokens);
},
addToken: function (token) {
input.addToken(token);
},
getInputFieldId: function () {
return input.tokenElement.prop("id");
},
getInputField: function () {
return input.element;
},
getTokenfieldInputField: function () {
return input.tokenElement;
},
/**
* Checks whether the tokenfield contains any token.
*
* @return true if the tokenfield contains at least one token.
*/
hasTokens: function () {
return input.hasTokens();
},
/**
* Checks whether the tokenfield contains the given token.
*
* Tokens are equal if they have the same value-property.
*
* @param token the given token
* @return true if the token field contains the given token
*/
hasToken: function (token) {
return input.hasToken(token);
},
updateTokenRemovalVisibility: function () {
input.updateTokenRemovalVisibility();
},
hideTokenRemoval: function () {
input.hideTokenRemoval();
},
/**
* Cleares the token field of all entries.
*/
clearTokens: function () {
input.clearTokens();
},
/**
* Removes the token from the tokenfield.
*
* Tokens are equal if they have the same value-property.
*
* @param token the token to remove
*/
removeToken: function (token) {
input.removeToken(token);
},
/**
* Get all tokens in the tokenfield.
*
* @return {*} a list of all tokens in the tokenfield.
*/
getTokens: function () {
return input.getTokens();
},
resize: function () {
input.resize();
},
resizeInputField: function () {
input.resizeInputField();
}
};
};
sirius.tokenfield = sirius.createTokenfield();
×
Sind Sie sicher?
[H3] Warenkorb
[H4] Claudia Kohler
[H4] Katharina Seeliger
[H4] placeholder
[H4] Shop-Login
Bilder
Es konnten 36 Bilder auf dieser Webseite gefunden werden.
Auf kohler-shop.de fehlen bei 17 von 36 Bilddateien ALT-Attribute. Beschreibende Alternativtexte helfen Suchmaschinen und verbessern zugleich die Zugänglichkeit der Seite.
Text/HTML Verhältnis
Anteil : 6%
kohler-shop.de hat mit 6% einen sehr niedrigen Textanteil. Die Seite sollte mehr nutzbaren Inhalt erhalten, damit Suchmaschinen nicht nur Code, Navigation oder Gestaltungselemente sehen.
Flash
Auf kohler-shop.de wurde kein Flash gefunden. Das ist positiv, weil moderne Browser und Suchmaschinen mit aktuellen HTML-, CSS- und JavaScript-Lösungen deutlich besser umgehen.
IFrame
kohler-shop.de nutzt IFrames. Prüfen Sie, ob wichtige Inhalte direkt auf der Seite ausgegeben werden können, damit sie besser indexierbar und unabhängiger von externen Quellen sind.
SEO Links
Eine klare Linkstruktur erleichtert Suchmaschinen das Crawlen, verteilt interne Relevanz und hilft Besuchern, wichtige Inhalte schnell zu finden.
URL Rewrite
kohler-shop.de verwendet lesbare URL-Strukturen. Das ist ein Vorteil für Navigation, Teilen von Links und die schnelle thematische Einordnung einzelner Seiten.
Underscores in the URLs
kohler-shop.de verwendet keine Unterstriche in den geprüften Links. Das unterstützt eine klare und übliche URL-Schreibweise.
In-page links
We found a total of 23 links including 0 link(s) to files
Die Suchbegriffsauswertung zeigt, welche Themen die Seite tatsächlich vermittelt und ob wichtige Begriffe in Inhalt und Seitenelementen konsistent vorkommen.
Gute Benutzerfreundlichkeit stärkt Vertrauen und erleichtert die Nutzung. Geprüft werden unter anderem URL, Favicon, Sprache und Druckdarstellung.
URL
Domain : kohler-shop.de
Länge : 14
Favoriten Icon
kohler-shop.de stellt ein Favicon bereit. Dieses kleine Symbol verbessert Wiedererkennung in Browser-Tabs, Lesezeichen und Suchergebnisumgebungen.
Druckeigenschaften
kohler-shop.de enthält druckfreundliche CSS-Angaben. Das ist nützlich, wenn Besucher Inhalte speichern, ausdrucken oder weitergeben möchten.
Sprache
kohler-shop.de deklariert die Sprache als de. Das hilft Browsern, Suchmaschinen und Hilfstechnologien bei Aussprache, Darstellung und regionaler Einordnung.
Dublin Core
kohler-shop.de verzichtet auf Dublin-Core-Metadaten. Falls die Seite stark dokumenten- oder publikationsorientiert ist, könnten solche Angaben ergänzt werden.
Dokument
Sauberes HTML, eine korrekte Zeichencodierung und moderne Standards verbessern Kompatibilität, Zugänglichkeit und die zuverlässige Verarbeitung der Seite.
Doctype
HTML 5
Verschlüsselung
kohler-shop.de sollte einen Zeichensatz deklarieren. Ohne diese Information können Browser Inhalte unter ungünstigen Bedingungen falsch interpretieren. Mit diesem kostenlosen Werkzeug kann die passende Angabe vorbereitet werden.
W3C Validität
Fehler : 0
Warnungen : 0
E-Mail Datenschutz
kohler-shop.de zeigt keine offen auslesbare E-Mail-Adresse. Das ist positiv für Datenschutz und Spam-Vermeidung.
Veraltetes HTML
Veraltete Tags
Vorkommen
<tt>
3
Bei kohler-shop.de wurden veraltete HTML-Tags gefunden. Diese funktionieren zwar oft noch, sollten aber durch aktuelle HTML-Elemente ersetzt werden, damit die Seite langfristig stabil bleibt.
Tipps zur Webseitengeschwindigkeit
kohler-shop.de nutzt keine verschachtelten Tabellen. Das macht Layout und Quelltext leichter wartbar und besser zugänglich.
kohler-shop.de nutzt CSS direkt in HTML-Elementen. Eine Auslagerung in CSS-Dateien kann den Quelltext übersichtlicher und besser wartbar machen.
kohler-shop.de bindet 10 CSS-Dateien ein und liegt damit über dem empfohlenen Richtwert von 8. Eine Zusammenfassung oder Bereinigung kann Anfragen reduzieren.
Die JavaScript-Anzahl von kohler-shop.de ist unauffällig. Eine schlanke Skriptstruktur hilft besonders auf mobilen Geräten.
kohler-shop.de nutzt gzip-Komprimierung. Dadurch können HTML, CSS und JavaScript kleiner übertragen werden, was die Ladezeit verbessern kann.
Mobile
Mobile Optimierung ist wichtig, weil viele Besucher Smartphones nutzen. Viewport, Icons und ungeeignete Technologien beeinflussen Darstellung und Bedienbarkeit.
Mobile Optimierung
Apple Icon
META Viewport Tag
Flash Inhalt
Optimierung
Sitemap, robots.txt, Komprimierung und Analysesysteme beeinflussen, wie effizient eine Website gecrawlt, ausgeliefert und gezielt weiterentwickelt werden kann.
XML-Sitemap
Fehlt
Für kohler-shop.de wurde keine XML-Sitemap gefunden. Eine Sitemap listet wichtige URLs und kann Suchmaschinen Hinweise zu Aktualisierung und Struktur der Website geben.
Robots.txt
http://kohler-shop.de/robots.txt
Eine robots.txt ist für kohler-shop.de vorhanden. Das ist die richtige Stelle, um Suchmaschinen den Umgang mit bestimmten Bereichen der Website zu erklären.
Analytics
Fehlt
kohler-shop.de scheint kein Analytics-System einzusetzen. Ein datenschutzkonform eingebundenes Analyse-Tool kann helfen, Optimierungen gezielter zu planen.
PageSpeed Insights
PageSpeed Insights bewertet Leistung, Barrierefreiheit, bewährte Verfahren und SEO für Desktop und Mobilgeräte und macht technische Bremsen sichtbar.
Gerät
Kategorien
Website-Überprüfung
Website-Überprüfung ist ein kostenloses SEO Werkzeug zur Analyse Ihrer Webseite