Website Review


Entrez domaine


← Cliquez pour mettre à jour
doc.ibexa.co

Evaluation du site doc.ibexa.co

 Généré le 17 Avril 2021 13:21

Vieilles statistiques? UPDATE !


Le score est de 39/100

Optimisation du contenu

Titre

Developer Documentation



Longueur : 23

Parfait, votre titre contient entre 10 et 70 caractères.
Description



Longueur : 0

Très mauvais. Nous n'avons pas trouvé de balise META description sur votre page. Utilisez ce générateur gratuit de balises META en ligne pour créer une description.
Mots-clefs



Très mauvais. Nous n'avons pas trouvé de balise META keywords sur votre page. Utilisez ce générateur gratuit de balises META en ligne pour créer des mots-clés.
Propriétés Open Graph Cette page ne profite pas des balises META Open Graph. Cette balise permet de représenter de manière riche n'importe quelle page dans le graph social (environnement social). Utilisez ce générateur gratuit de balises META Open Graph pour les créer.
Niveaux de titre
H1 H2 H3 H4 H5 H6
1 0 0 0 5 0
  • [H1] Ibexa developer documentation
  • [H5] Installation
  • [H5] Tutorials
  • [H5] Guide to Ibexa DXP
  • [H5] Most popular topics
  • [H5] The latest release v3.3
Images Nous avons trouvé 1 image(s) sur cette page Web.

1 attribut(s) alt sont vides ou manquants. Ajouter un texte alternatif permet aux moteurs de recherche de mieux comprendre le contenu de vos images.
Ratio texte/HTML Ratio : 0%

le ratio de cette page texte/HTML est au-dessous de 15 pour cent, ce qui signifie que votre site manque de contenu textuel.
Flash Parfait, aucun contenu FLASH n'a été détecté sur cette page.
Iframe Génial, il n'y a pas d'Iframes détectés sur cette page.

Réécriture d'URLs Bien. Vos liens sont optimisés!
Tiret bas dans les URLs Nous avons détectés des soulignements dans vos URLs. Vous devriez plutôt utiliser des tirets pour optimiser votre référencement.
Liens dans la page Nous avons trouvé un total de 504 lien(s) dont 23 lien(s) vers des fichiers



Texte d'ancre Type Juice
Developer Documentation Interne Passing Juice
User Documentation Interne Passing Juice
Ibexa Developer Documentation Interne Passing Juice
Requirements Interne Passing Juice
Install Ibexa DXP Interne Passing Juice
Install on Ibexa Cloud Interne Passing Juice
First steps Interne Passing Juice
Troubleshooting Interne Passing Juice
Beginner tutorial Interne Passing Juice
1. Get ready Interne Passing Juice
2. Create the content model Interne Passing Juice
3. Customize the front page Interne Passing Juice
4. Display a single content item Interne Passing Juice
5. Display a list of content items Interne Passing Juice
6. Improve configuration Interne Passing Juice
7. Embed content Interne Passing Juice
8. Enable account registration Interne Passing Juice
Ibexa Experience beginner tutorial Interne Passing Juice
1. Get a starter website Interne Passing Juice
2. Prepare the Landing Page Interne Passing Juice
3. Use existing blocks Interne Passing Juice
4. Create a custom block Interne Passing Juice
5. Create a newsletter form Interne Passing Juice
Creating Point 2D Field Type Interne Passing Juice
1. Implement Value class Interne Passing Juice
2. Define Field Type Interne Passing Juice
3. Create a form Interne Passing Juice
4. Introduce a template Interne Passing Juice
5. Add a new field Interne Passing Juice
6. Implement settings Interne Passing Juice
7. Add basic validation Interne Passing Juice
8. Data migration Interne Passing Juice
Extending Back Office Interne Passing Juice
1. Creating a My dashboard tab Interne Passing Juice
2. Creating a top menu item Interne Passing Juice
3a. Filtering query results Interne Passing Juice
3b. Adding an edit button Interne Passing Juice
4. Creating a custom tag Interne Passing Juice
REST API guide Interne Passing Juice
REST API usage Interne Passing Juice
Extending the REST API Interne Passing Juice
REST API reference Externe Passing Juice
REST API best practices Interne Passing Juice
REST API authentication Interne Passing Juice
Accept header-based REST API response Interne Passing Juice
Binary attachments via REST API Interne Passing Juice
Cross-origin HTTP requests Interne Passing Juice
Public PHP API Interne Passing Juice
Browsing Content Interne Passing Juice
Content search Interne Passing Juice
Creating Content Interne Passing Juice
Managing Content Interne Passing Juice
Managing Repository Interne Passing Juice
Managing Users Interne Passing Juice
Shop API Interne Passing Juice
URL Service Interne Passing Juice
Id Sort Clause Interne Passing Juice
Url Sort Clause Interne Passing Juice
MatchAll Criterion Interne Passing Juice
MatchNone Criterion Interne Passing Juice
Pattern Criterion Interne Passing Juice
SectionId Criterion Interne Passing Juice
SectionIdentifier Criterion Interne Passing Juice
Validity Criterion Interne Passing Juice
VisibleOnly Criterion Interne Passing Juice
LogicalAnd Criterion Interne Passing Juice
LogicalNot Criterion Interne Passing Juice
LogicalOr Criterion Interne Passing Juice
Field Type API Interne Passing Juice
Type and Value Interne Passing Juice
Form and template Interne Passing Juice
Storage Interne Passing Juice
Validation Interne Passing Juice
Searching Interne Passing Juice
Field Types reference Interne Passing Juice
Author Field Type Interne Passing Juice
BinaryFile Field Type Interne Passing Juice
Checkbox Field Type Interne Passing Juice
Content query Field Type Interne Passing Juice
Country Field Type Interne Passing Juice
DateAndTime Field Type Interne Passing Juice
Date Field Type Interne Passing Juice
EmailAddress Field Type Interne Passing Juice
Float Field Type Interne Passing Juice
Form Field Type Interne Passing Juice
Image Field Type Interne Passing Juice
ImageAsset Field Type Interne Passing Juice
Integer Field Type Interne Passing Juice
ISBN Field Type Interne Passing Juice
Keyword Field Type Interne Passing Juice
MapLocation Field Type Interne Passing Juice
Matrix Field Type Interne Passing Juice
Media Field Type Interne Passing Juice
Null Field Type Interne Passing Juice
Page Field Type Interne Passing Juice
Relation Field Type Interne Passing Juice
RelationList Field Type Interne Passing Juice
RichText Field Type Interne Passing Juice
Selection Field Type Interne Passing Juice
SesExternalData Interne Passing Juice
SesProfileData Interne Passing Juice
SesSelection Interne Passing Juice
SpecificationsType Interne Passing Juice
TextBlock Field Type Interne Passing Juice
TextLine Field Type Interne Passing Juice
Time Field Type Interne Passing Juice
URL Field Type Interne Passing Juice
User Field Type Interne Passing Juice
VariantType Interne Passing Juice
XmlText Field Type Interne Passing Juice
GraphQL Interne Passing Juice
GraphQL queries Interne Passing Juice
GraphQL operations Interne Passing Juice
GraphQL customization Interne Passing Juice
Project organization Interne Passing Juice
Architecture Interne Passing Juice
Bundles Interne Passing Juice
Content model Interne Passing Juice
Configuration Interne Passing Juice
Dynamic config Interne Passing Juice
Back Office config Interne Passing Juice
Repository config Interne Passing Juice
Connector config Interne Passing Juice
Shop configuration Interne Passing Juice
Admin management Interne Passing Juice
Content rendering Interne Passing Juice
Controllers Interne Passing Juice
Templates Interne Passing Juice
Design engine Interne Passing Juice
Page rendering Interne Passing Juice
Displaying Content children Interne Passing Juice
Retrieving root Location Interne Passing Juice
Twig functions reference Interne Passing Juice
Content Twig functions Interne Passing Juice
Field Twig functions Interne Passing Juice
Product Twig functions Interne Passing Juice
Image Twig functions Interne Passing Juice
URL Twig functions Interne Passing Juice
Date Twig filters Interne Passing Juice
Other Twig filters Interne Passing Juice
Overriding shop templates Interne Passing Juice
Content management Interne Passing Juice
Images Interne Passing Juice
Configuring the Image Editor Interne Passing Juice
File management Interne Passing Juice
URL management Interne Passing Juice
RouteReference Interne Passing Juice
User-generated content Interne Passing Juice
Editorial workflow Interne Passing Juice
Permissions Interne Passing Juice
Limitations Interne Passing Juice
Limitation reference Interne Passing Juice
Custom Policies Interne Passing Juice
User management Interne Passing Juice
Login and registration Interne Passing Juice
OAuth authentication Interne Passing Juice
Adding login through external service Interne Passing Juice
Token Interne Passing Juice
Delegate function Interne Passing Juice
Customers Interne Passing Juice
Customer templates Interne Passing Juice
Managing delivery addresses Interne Passing Juice
VAT handling Interne Passing Juice
Customer API Interne Passing Juice
Customer profile data Interne Passing Juice
Configuration for customer data Interne Passing Juice
Shop features Interne Passing Juice
Product management Interne Passing Juice
Catalog Interne Passing Juice
Pricing Interne Passing Juice
Payment and shipping Interne Passing Juice
User management Interne Passing Juice
ERP Interne Passing Juice
Basket Interne Passing Juice
Basket configuration Interne Passing Juice
Basket templates Interne Passing Juice
Calculating prices Interne Passing Juice
Basket data model Interne Passing Juice
BasketService Interne Passing Juice
Basket Events Interne Passing Juice
Basket routing Interne Passing Juice
Wishlist and stored baskets Interne Passing Juice
Checkout Interne Passing Juice
Checkout templates Interne Passing Juice
Order confirmation Interne Passing Juice
Local orders Interne Passing Juice
Return process Interne Passing Juice
Checkout controllers Interne Passing Juice
Checkout events Interne Passing Juice
Configuration for checkout forms Interne Passing Juice
Services for checkout forms Interne Passing Juice
Invoice address form Interne Passing Juice
Delivery address form Interne Passing Juice
Shipping payment form Interne Passing Juice
Summary form Interne Passing Juice
Order summary Interne Passing Juice
Payment Interne Passing Juice
Payment API Interne Passing Juice
Payment troubleshooting Interne Passing Juice
Paypal Interne Passing Juice
Price engine Interne Passing Juice
Price templates Interne Passing Juice
Price data model Interne Passing Juice
Price providers Interne Passing Juice
StandardPriceFactory Interne Passing Juice
LocalVatService Interne Passing Juice
StandardCountryZoneService Interne Passing Juice
StandardTemplateDebitorService Interne Passing Juice
Quick order Interne Passing Juice
Quick order configuration Interne Passing Juice
Quick order templates Interne Passing Juice
Order history Interne Passing Juice
Local orders Interne Passing Juice
Order history configuration Interne Passing Juice
Order history templates Interne Passing Juice
Vouchers Interne Passing Juice
Voucher templates Interne Passing Juice
Catalog Interne Passing Juice
Catalog templates Interne Passing Juice
Product Interne Passing Juice
Product rendering Interne Passing Juice
Product variants Interne Passing Juice
Product variant API Interne Passing Juice
Setting up variants from external source Interne Passing Juice
Catalog element Interne Passing Juice
ProductNode Interne Passing Juice
ProductType Interne Passing Juice
Routing system Interne Passing Juice
Customer SKUs Interne Passing Juice
Extending a CatalogFactory Interne Passing Juice
Product comparison Interne Passing Juice
Product comparison API Interne Passing Juice
Product comparison templates Interne Passing Juice
Navigation Interne Passing Juice
Navigation configuration Interne Passing Juice
Navigation templates Interne Passing Juice
Bestsellers Interne Passing Juice
Breadcrumbs Interne Passing Juice
Breadcrumb templates Interne Passing Juice
Breadcrumb API Interne Passing Juice
Custom breadcrumbs Interne Passing Juice
Pages in the shop Interne Passing Juice
Forms Interne Passing Juice
Form API Interne Passing Juice
Data processors Interne Passing Juice
Pre-data processors Interne Passing Juice
Data processor events Interne Passing Juice
Form templates Interne Passing Juice
Using reCAPTCHA Interne Passing Juice
ERP integration Interne Passing Juice
ERP communication Interne Passing Juice
ERP logging Interne Passing Juice
RemotePriceProvider Interne Passing Juice
Lost orders Interne Passing Juice
Data providers Interne Passing Juice
Repository data provider Interne Passing Juice
eContent Interne Passing Juice
eContent configuration Interne Passing Juice
Indexing eContent data Interne Passing Juice
Staging system Interne Passing Juice
Search Interne Passing Juice
Search Criteria reference Interne Passing Juice
Ancestor Interne Passing Juice
ContentId Interne Passing Juice
ContentTypeGroupId Interne Passing Juice
ContentTypeId Interne Passing Juice
ContentTypeIdentifier Interne Passing Juice
DateMetadata Interne Passing Juice
Depth Interne Passing Juice
Field Interne Passing Juice
FieldRelation Interne Passing Juice
FullText Interne Passing Juice
IsFieldEmpty Interne Passing Juice
IsMainLocation Interne Passing Juice
IsUserBased Interne Passing Juice
IsUserEnabled Interne Passing Juice
LanguageCode Interne Passing Juice
LocationId Interne Passing Juice
LocationRemoteId Interne Passing Juice
MapLocationDistance Interne Passing Juice
MatchAll Interne Passing Juice
MatchNone Interne Passing Juice
ObjectStateId Interne Passing Juice
ObjectStateIdentifier Interne Passing Juice
ParentLocationId Interne Passing Juice
Priority Interne Passing Juice
RemoteId Interne Passing Juice
SectionId Interne Passing Juice
SectionIdentifier Interne Passing Juice
Sibling Interne Passing Juice
Subtree Interne Passing Juice
UserEmail Interne Passing Juice
UserId Interne Passing Juice
UserLogin Interne Passing Juice
UserMetadata Interne Passing Juice
Visibility Interne Passing Juice
LogicalAnd Criterion Interne Passing Juice
LogicalNot Criterion Interne Passing Juice
LogicalOr Criterion Interne Passing Juice
Sort Clause reference Interne Passing Juice
ContentId Interne Passing Juice
ContentName Interne Passing Juice
ContentTranslatedName Interne Passing Juice
ContentTypeName Interne Passing Juice
CustomField Interne Passing Juice
DateModified Interne Passing Juice
DatePublished Interne Passing Juice
DateTrashed Interne Passing Juice
Depth Interne Passing Juice
Field Interne Passing Juice
Id Interne Passing Juice
IsMainLocation Interne Passing Juice
MapLocationDistance Interne Passing Juice
Path Interne Passing Juice
Priority Interne Passing Juice
Random Interne Passing Juice
Score Interne Passing Juice
SectionIdentifier Interne Passing Juice
SectionName Interne Passing Juice
UserLogin Interne Passing Juice
Visibility Interne Passing Juice
Aggregation reference Interne Passing Juice
ContentTypeTermAggregation Interne Passing Juice
ContentTypeGroupTermAggregation Interne Passing Juice
DateMetadataRangeAggregation Interne Passing Juice
LanguageTermAggregation Interne Passing Juice
ObjectStateTermAggregation Interne Passing Juice
RawRangeAggregation Interne Passing Juice
RawStatsAggregation Interne Passing Juice
RawTermAggregation Interne Passing Juice
SectionTermAggregation Interne Passing Juice
SubtreeTermAggregation Interne Passing Juice
UserMetadataTermAggregation Interne Passing Juice
VisibilityTermAggregation Interne Passing Juice
AuthorTermAggregation Interne Passing Juice
CheckboxTermAggregation Interne Passing Juice
CountryTermAggregation Interne Passing Juice
DateRangeAggregation Interne Passing Juice
DateTimeRangeAggregation Interne Passing Juice
FloatRangeAggregation Interne Passing Juice
FloatStatsAggregation Interne Passing Juice
IntegerRangeAggregation Interne Passing Juice
IntegerStatsAggregation Interne Passing Juice
KeywordTermAggregation Interne Passing Juice
SelectionTermAggregation Interne Passing Juice
TimeRangeAggregation Interne Passing Juice
Searching in trash reference Interne Passing Juice
Elasticsearch search engine Interne Passing Juice
Elasticsearch extensibility Interne Passing Juice
Solr search engine Interne Passing Juice
Other search engines Interne Passing Juice
Shop search Interne Passing Juice
Search templates Interne Passing Juice
Search configuration Interne Passing Juice
Search API Interne Passing Juice
Product search Interne Passing Juice
Search indexing Interne Passing Juice
Search synonyms Interne Passing Juice
Autosuggestion Interne Passing Juice
Solr spellcheck Interne Passing Juice
Multisite Interne Passing Juice
Site Factory Interne Passing Juice
SiteAccess Interne Passing Juice
SiteAccess Matching Interne Passing Juice
Multi-language SiteAccesses Interne Passing Juice
Languages Interne Passing Juice
Back Office translations Interne Passing Juice
Shop translations Interne Passing Juice
Personalization Interne Passing Juice
Enabling Personalization Interne Passing Juice
Personalization quickstart Interne Passing Juice
Tracking API Interne Passing Juice
Importing historical user tracking data Interne Passing Juice
Tracking with yct.js Interne Passing Juice
Recommendation API Interne Passing Juice
Content API Interne Passing Juice
User API Interne Passing Juice
Tracking integration Interne Passing Juice
Recommendation integration Interne Passing Juice
Recommendation client Interne Passing Juice
Repository Interne Passing Juice
Databases Interne Passing Juice
Data migration Interne Passing Juice
Event reference Interne Passing Juice
Content events Interne Passing Juice
Content Type events Interne Passing Juice
Location events Interne Passing Juice
Language events Interne Passing Juice
Section events Interne Passing Juice
Object state events Interne Passing Juice
Role events Interne Passing Juice
User events Interne Passing Juice
Page events Interne Passing Juice
Site events Interne Passing Juice
URL events Interne Passing Juice
Trash events Interne Passing Juice
Other events Interne Passing Juice
HTTP cache Interne Passing Juice
Persistence cache Interne Passing Juice
Shop caching Interne Passing Juice
Clustering Interne Passing Juice
AWS S3 clustering Interne Passing Juice
DevOps Interne Passing Juice
Backup Interne Passing Juice
Performance Interne Passing Juice
Environments Interne Passing Juice
Sessions Interne Passing Juice
Logging Interne Passing Juice
Logfile rotation Interne Passing Juice
Development Security Interne Passing Juice
Security checklist Interne Passing Juice
Reporting Issues Interne Passing Juice
Notifications Interne Passing Juice
Service container Interne Passing Juice
Extending Back Office Interne Passing Juice
Extending Dashboard Interne Passing Juice
Extending Menus Interne Passing Juice
Extending tabs Interne Passing Juice
Extending settings Interne Passing Juice
Extending date and time Interne Passing Juice
Creating custom Page blocks Interne Passing Juice
Creating custom RichText blocks Interne Passing Juice
Creating custom drop-downs Interne Passing Juice
Creating custom icons Interne Passing Juice
Extending thumbnails Interne Passing Juice
Injecting custom components Interne Passing Juice
Extending Form Builder Interne Passing Juice
Extending Workflow Interne Passing Juice
Extending Calendar Interne Passing Juice
Extending Image Editor Interne Passing Juice
Extending Online Editor Interne Passing Juice
Creating Online Editor button Interne Passing Juice
Creating Online Editor plugin Interne Passing Juice
Extending UDW Interne Passing Juice
Creating a UDW tab Interne Passing Juice
Extending Multi-file Upload Interne Passing Juice
Extending Sub-items List Interne Passing Juice
Creating drag and drop interface Interne Passing Juice
Creating custom Field Type Interne Passing Juice
Creating custom Field Type comparison Interne Passing Juice
Resources Interne Passing Juice
Release process and roadmap Interne Passing Juice
Support and Maintenance FAQ Interne Passing Juice
How to contribute Interne Passing Juice
Report and follow issues Interne Passing Juice
Contribute code Interne Passing Juice
Development guidelines Interne Passing Juice
Contribute translations Interne Passing Juice
Contribute to documentation Interne Passing Juice
Package structure Interne Passing Juice
Updating to v3.3 Interne Passing Juice
Updating Ibexa DXP Interne Passing Juice
1. Check out a version Interne Passing Juice
2. Resolve conflicts Interne Passing Juice
3. Update the app Interne Passing Juice
4. Upgrade the code Interne Passing Juice
4.1. Upgrade templates Interne Passing Juice
4.2. Upgrade configuration Interne Passing Juice
4.3. Upgrade Field Types Interne Passing Juice
4.4. Upgrade Signal Slots Interne Passing Juice
4.5. Upgrade Online Editor Interne Passing Juice
4.6. Upgrade workflow Interne Passing Juice
4.7. Upgrade extended code Interne Passing Juice
4.8. Upgrade REST Interne Passing Juice
4.9 Other code upgrades Interne Passing Juice
Update database Interne Passing Juice
Update database to v1.13 Interne Passing Juice
Update database to v2.2 Interne Passing Juice
Update database to v2.3 Interne Passing Juice
Update database to v2.4 Interne Passing Juice
Update database to v2.5 Interne Passing Juice
Update database to v3.0 Interne Passing Juice
Update database to v3.1 Interne Passing Juice
Update database to v3.2 Interne Passing Juice
6. Finish the update Interne Passing Juice
Migrating from eZ Publish Platform Interne Passing Juice
Migrating from eZ Publish Interne Passing Juice
Common issues Interne Passing Juice
Ibexa DXP v3.3 LTS Interne Passing Juice
Ibexa DXP v3.2 Interne Passing Juice
eZ Platform v3.1 Interne Passing Juice
eZ Platform v3.0 Interne Passing Juice
eZ Platform v3.0 deprecations and BC breaks Interne Passing Juice
eZ Platform v2.5 LTS Interne Passing Juice
eZ Platform v2.4 Interne Passing Juice
eZ Platform v2.3 Interne Passing Juice
eZ Platform v2.2.0 Interne Passing Juice
eZ Platform v2.1.0 Interne Passing Juice
eZ Platform v2.0.0 Interne Passing Juice
eZ Platform v1.13.0 LTS Interne Passing Juice
eZ Platform v1.12.0 Interne Passing Juice
eZ Platform v1.11.0 Interne Passing Juice
eZ Platform v1.10.0 Interne Passing Juice
eZ Platform v1.9.0 Interne Passing Juice
eZ Platform v1.8.0 Interne Passing Juice
eZ Platform v1.7.0 LTS Interne Passing Juice
References Interne Passing Juice
New Personalization UI Interne Passing Juice
Symfony Flex Interne Passing Juice
Image Editor Interne Passing Juice
Migration bundle Interne Passing Juice
Search API improvements Interne Passing Juice
Query Field Location handling Interne Passing Juice
Material for MkDocs Externe Passing Juice

Mots-clefs

Nuage de mots-clefs
Cohérence des mots-clefs
Mot-clef Contenu Titre Mots-clefs Description Niveaux de titre

Ergonomie

Url Domaine : doc.ibexa.co
Longueur : 12
Favicon Génial, votre site web dispose d'un favicon.
Imprimabilité Aucun style CSS pour optimiser l'impression n'a pu être trouvé.
Langue Bien. Votre langue est : en.
Dublin Core Cette page ne profite pas des métadonnées Dublin Core.

Document

Doctype HTML 5
Encodage Parfait. Votre charset est UTF-8.
Validité W3C Erreurs : 7
Avertissements : 0
E-mail confidentialité Génial, aucune adresse e-mail n'a été trouvé sous forme de texte!
HTML obsolètes Génial! Nous n'avons pas trouvé de balises HTML obsolètes dans votre code.
Astuces vitesse
Excellent, votre site n'utilise pas de tableaux imbriqués.
Parfait. Aucun style css inline n'a été trouvé dans vos tags HTML!
Mauvais, votre site web contient trop de fichiers CSS (plus de 4).
Mauvais, votre site web contient trop de fichiers javascript (plus de 6).
Dommage, votre site n'est pas optimisé avec gzip.

Mobile

Optimisation mobile
Icône Apple
Méta tags viewport
Contenu FLASH

Optimisation

Sitemap XML Votre site web dispose d’une sitemap XML, ce qui est optimal.

http://doc.ibexa.co/sitemap.xml
https://doc.ibexa.co/sitemap.xml
Robots.txt http://doc.ibexa.co/robots.txt

Votre site dispose d’un fichier robots.txt, ce qui est optimal.
Mesures d'audience Manquant

Nous n'avons trouvé aucun outil d'analytics sur ce site.

Un outil de mesure d'audience vous permet d'analyser l’activité des visiteurs sur votre site. Vous devriez installer au moins un outil Analytics. Il est souvent utile d’en rajouter un second, afin de confirmer les résultats du premier.

PageSpeed Insights


Dispositif
Les catégories


Visi mobilieji | Darbo birža | Receptai | Vyriski ir moteriski batai | ETS 2 mods | Kur apsistoti Šiauliuose? | IT naujienos |