How to make responsive images on CDN and without loosing SEO [closed] - image

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
So I'm doing a pre-study on how to implement a responsive design to an existing site with a lot of images. These images would be nice if we could serve differently to the visitor according to device size, pixel ratio and/or bandwidth.
The site is using Akamai as a CDN so we must have a solution that uses different URLs for different image sizes. Doing this by Javascript is fine, we require it anyway.
I was looking at CSS-tricks spreadsheet (http://css-tricks.com/which-responsive-images-solution-should-you-use/) and specifically Foresight.js (https://github.com/adamdbradley/foresight.js) seemed to be the right stuff for us.
Basicly the markup would look something like this:
<img data-src="/images/imagefile.jpg" data-width="320" data-height="240" class="fs-img">
<noscript>
<img src="/images/imagefile.jpg">
</noscript>
But then I noticed that Google will ignore any fallback images placed within tags. This could be devastating to our SEO since the images from the press room are essential to be indexed by Google et al.
So my question is, how do you serve SEO friendly-enough images responsively? Is removing the src-attribute killing SEO? There will still be all the other attributes, the alt-one most important I guess.

yea, image alt tag is very important from search engine optimization point of view. Here there is no harm to resize the image by considering devices or element. Make sure you use meaningful image name to get them up in image search result of Google.

Interesting...
I don't really feel that you =need to "alt" tag all of the copies. From SEO point of view this is both redundant and somewhat spammy (imagine Google's response to a website in which each URL holds 5 [or more] different sized version of the same image, all with the same exact alt tags... )
Allowing Goolge to Recognize tags of the "default size" image should be enough for your SEO purposes.
Another workaround I can think of is to always have live links to all the different sizes (while presenting only one personalized version)
I`m not sure if its feasible, but you don't have to many version or want to present a few selected ones, this will do.
This will not solve the alt tag issue, but at least they all be crawled and indexed separately.
Also, alt tag is really over-rated. Speaking from almost 10 years of experience I can say that is's effect is marginal, at best. Especially if you link to the image includes the relevant KW.
If still worried, you can link to a different HTML page, containing said image and alt tag it there but it sound like too much trouble to me...

Related

Lightweight alternative to isotope.js [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I'm using isotope.js purely because of its animations for adding/removing elements.
I love the effect of items animating to fill the position of removed elements simultaneously as the removed elements fade out.
The thing is, my grid elements are all of a fixed and equal size, and I don't need any of the filtering stuff. I find isotope to be a little clunky, maybe because of the breadth of its functionality.
So I'm looking for an alternative which is:
lightweight
slick
robust and production ready
able to gracefully degrade
Original answer
If someone is still looking you might also want to take a look into a similar jQuery plugin I've written, Filterizr. Filterizr is:
Allows for filtering, sorting, shuffling and searching
Highly customizable (allows users to write their own CSS effects for the transitions when filtering in and out)
Uses CSS3 transitions and transform-translate.
Lightweight, ~20kb
Optimized for mobile performance
Responsive (with your media queries)
Open source and MIT licensed
Download links, tutorials and docs on the
Filterizr Website
Update 06/2019:
Filterizr has come a long way since then.
It is now written in TypeScript JavaScript and can be used without jQuery as a vanilla JavaScript library.
It still allows usage as a jQuery plugin though, you can still consult the Filterizr website as it's up-to-date.
In case someone is still looking check out
Shuffle.js. It is responsive alongwith MIT license.
I also searching that have extensive filter with animation:
Muuri - Open Source MIT (Seem Fast and Good)
MixitUp - High Quality Commercial Library (Extreme Polished)
Other open source either do not have both feature, or optional extensible, Good if you need fast animation only like Macy.js, gridfolio, Tympanus CSS (+ equal included, - equal excluded):
Macy.js: Animation +, Filtering - (Very lack of documentation of css transition)
gridfolio: Animation+, Filtering -
Mansory: Animation +, Filtering - - (but maybe with https://github.com/dynamick/multiple-filter-masonry)
Filtrify: Animation - , Filtering +
Tympanus CSS Tutorial: Animation +, Filtering -
Boardz.css: Animation -, Filtering - (Notable for mention as HQ CSS only Library)
jquery Woodmark: Animation +, Filtering - (Polished Demo)
Seems like you're looking for jQuery Masonry.
In general Isotope is pretty slick for most cases, all depending on the amount of content you throw at it of course.
The reason behind the clunkyness might be jQuery itself. While jQuery is an amazing selector, it's animation and speed of manipulation is lacking a bit because of the sheer amount of functionality included in the lib.
im using jquery Quicksand which is pretty neat and straight forward http://razorjack.net/quicksand/
I have also found some alternative of isotope masonry gallery
https://www.wix.com/app-market/wix-pro-gallery
https://github.com/wix/pro-gallery
---------------OR---------------
Image Photo Gallery Final Tiles Grid (Wordpress plugin)
Meow Gallery (+ Gallery Block) (Wordpress plugin)

Wordpress theme/image management

So I've been creating a custom responsive theme in Wordpress and I've hit a wall when it comes to image management. I'd like to style images in a way that wordpress doesn't seem to inherently support - I'm looking for something like this:
with the images added via the regular wordpress media management pane, and inserted into posts/pages. The images should be out of the flow of the content but accurately placed next to the correct headers/text blocks. Most importantly, the images ought to collapse into a column with the rest of the content at the correct media query breakpoints.
Here's what I've tried, from worst to best:
Hard coded images in template files
Obviously the worst option. Not portable, requires a lot of meddling, and would be almost impossible to align the images with the correct content. Also, no real way of making the images responsive with the content.
Use the default image styling and abandon the idea of pulling the images out of the regular flow
Non optimal, but it would allow anyone to change/edit images easily.
Remove images from the results of the_content(), then place and style them separate.
Portable, but has the same problems as #1 - difficult to align the images with content and keep responsiveness.
Use the featured image on pages that only require one image
Pretty good option for pages that need ONLY one image, but there is no easy way to make the featured image an arbitrary size/aspect ratio.
Use markup in the editor to correctly layout the images
Requires anyone editing the posts/pages to have some knowledge of the underlying theme. This seems to work the best, but it isn't portable (might break stuff on theme change).
While I've had the best results with this option, it seems sort of antithetical to using a cms/wysiwyg editor in the first place.
My question is whether or not the last option really is the best to get the result I want?
In the end, the answer was clearly custom fields, and none of the other options I listed. With the advanced custom fields plugin, it becomes a breeze to do what I wanted. You don't need the plugin, but it makes image management a whole lot easier, as it fully integrates the wordpress media library with the custom field (which you would have to do manually otherwise). With the plugin, custom fields meet all of my needs (responsiveness, portability, and ease of use for the technically challenged).

How can I extract images from a site that I'm linking to?

If you're familiar with Reddit, you'll know how all of their posts containing pictures get a small thumbnail preview beside the title of the submission. How does Reddit go about doing that? Does it just check to see if the link ends with .jpg, .png, .bmp, etc?
reddit will try to pull a thumbnail from any source--not just an image URL. This is done firstly by having set rules for specific sites, and secondly by having one generic process for retrieving thumbnails for unknown URLs--and is an automated periodic task.
One of the (many) benefits of reddit is that the source code is open, and if you understand Python, you should check out /r2/lib/scraper.py for a more detailed view at how this process works.
Also, while StackOverflow is a great place to have programming-related questions answered, you might also want to check out reddit's own /r/redditdev for information on reddit development.
Indeed, if the URL contains .jpg, .png,
etc., use that.
If the site is a
popular domain (flickr.com,
youtube.com, amazon.com, etc.), have
a set of predefined rules to extract
something you know will be relevant
(may it be the featured image, YouTube
thumbnail, Amazon product image,
etc.)
Otherwise, if all you have to
work with is some HTML, you'll have to dig it out yourself. You could choose the
first one on the page, the biggest by size,
or even the one you've algorithmically
determined to be the most relevent (e.g. relatively big, inside what you think is the main body content.)
If you have to resort to the last option, one technique I'd recommend is to extract multiple images, and A/B test them to find the one which has the best click-through rate. That way you can nearly always get the best one.
You can check for the content of the <img> tag.

Should I include a sidebar in the design of a blog? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 13 years ago.
Improve this question
I am designing a blog and I am trying to decide if I should have a sidebar or if I should just move that content to the header/footer.
What is your opinion on this?
Do you have any opinion on the header/footer total height?
I prefer seeing a sidebar at the right for 2 reasons: the "About me" box lets me know at a glance who the person is (if I landed on a new blog via search/referral), and if I am interested in one topic, a "Categories" list lets me explore the posts related to my interest.
The common UX principle is Steve Krug's "Don't make me think". If I want to see who you are or the content categories/monthly archive, I don't want to hunt for them.
Keep the header low; few things annoy me in webdesigns when the upper half of my screen is taken up by static non-content, and the real content is hidden under the lower edge of the screen.
Apart from that, I can see no issues with a sidebar-less design.
I suppose it depends on what kind of informatio is in the side bar that you are considering moving. Typically the header and footer are used for navigational elements wherease sidebars are used for some more rich content. If you are liiking to move information such as links to home page, archives, tag lists, about this blog page, etc then moving them to the header might be the way to go. However, if you have tag clouds, archive links, latest post links, etc, you probably want to keem them in a sidebar. You have limited space in the header or footer with which to use and will have more flexibility in the side bar.
As for header and footer height, we try to keep the header (including advertisements) of a side to less than 25% of the visible page when viewed in a 1024x768 browser. We don't use standards for a footer just because a large footer doesn't push down content from visibility, so we offer some more flexibility there.
I think you'll need a sidebar... blogs just have way too much information to stuff it all into a header.
The most important thing to consider is the CONTENT of your blog. If its a design blog, a nice flashy header (done professionally, not in paint :P) can be attractive to your visitors. If its a business blog, your readers would usually want a nice plain design so that they can infact get down to business.
Then you have to think about what you want the sidebar to show.
A blog roll? Archives? Search or Login?. What about two sidebars on the same side. One for less important things like ads, and one for the juicy stuff like latest articles and twitters (well some find twitter important: i dont tho).
Like i said, its all in the content and your target audience. Dont try to sell meat to vegetarians. :)
It depends entirely on how much "Stuff" you have in your sidebar. If you can reasonably and cleanly stick it in the header, go for it. For anything you are putting in your footer, make sure its something you don't think people will need very often, because especially on a long long blog page, almost nobody is going to see it.

How does Google Maps work? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 years ago.
Improve this question
What is the name of the technology behind Google Maps which allows the server to send only the part of the map requested from the user to enhance the performance, and is there any library to handle this?
The technology could generically be described as a map server. The map server generates a map for the requested location from a large set of pre-generated map tile images covering the entire planet. The map server may overlay data from other databases on top of this. The combination of a map viewer client and geographical database is traditionally called a Geographical Information System (GIS).
Anyone can write web applications that embed Google maps using the Google Maps API.There is also a fine open source map server (called MapServer) should you wish to deploy your own map server.
As stated, Google generated all of these 256x256 tiles and is just serving the relevant tiles. From your comments it seems that you are looking for something to generate these tiles for you. Several people have written code to chop an image into tiles - for instance http://crazedmonkey.com/blog/googletilecutter or http://www.klokan.cz/projects/gdal2tiles/ both seem to be able to do what your looking for.
If you look at the link for a google maps page it will look like this:
http://maps.google.com/maps?f=q&hl=en&sll=37.0625,-95.677068&sspn=53.345014,88.769531&ie=UTF8&ll=41.226264,-81.454246&spn=0.012507,0.021672&z=16
The javascript code on the page and the server code use the numbers in the link to determine the location of the map you are viewing, the zoom level, and the size of your viewing window to determine the tiles to send to your browser.
There are commercial libraries that can provide the mapping data as well as tools to display and navigate the data. One I've seen used before is Geomicro
This is something that you can try out yourself with OpenSource,
http://www.geoserver.org
http://www.openlayers.org
and
last but not least
http://geowebcache.org/
You should be able to setup a minimal environment that does something similar to maps.google in a couple of hours.
You can also use the Google Maps API with your own images. Of course, they don't need to be a map; they can be any images. This will allow the user to drag and zoom, like in Google maps.
Here's a nice rundown of an open source stack for generating Web-based maps from one of the founders of EveryBlock.com: http://www.alistapart.com/articles/takecontrolofyourmaps
The generic name for the underlying discipline is GIS.
Are you asking for more details out of general curiosity, or do you have a specific technical need for a project?
Google gets high definition satellite shots from services that sell these images, they then store and crop this images and serve only those that are required when you look at a certain point. That is, have you noticed when you zoom-in and out that you get to see squared tiles appearing? those are the ones Google Server is serving you.
You also have to consider how they handle the load with the Google File System and MapReduce
It's just a huge image consisting of square chunks that are downloaded indepedently (using AJAX and so on). I believe it's done by some kind of internal Google libraries (could be also GWT).
More on this topic:
http://blog.grimpoteuthis.org/2005/02/mapping-google.html
Google Maps and Google Earth use something known as KML, or "Keyhole Markup Language", which is a special variant of XML. It's named in tribute to the first geo-tracking satellites. You can store information on a location in Google Earth (and it will eventuall trickle down to Google Maps) by using this markup to geocode its specific latitude and longitude coordinates. You can even include altitude.
Not to answer the question, just broader the information. Microsoft has something called "Deep zoom" for Silverlight that makes it easy to do that kind of effect.
Its a free composer where you tile upp your pictures (or one big picture) and do some other settings, then it breaks it down to a lots of smaller pictures in subfolders, one folder for each zoom-level. And then creates a page that can consume those in a smooth way.
A good blog entry about it:
http://weblogs.asp.net/jgalloway/archive/2008/03/21/why-silverlight-2-deep-zoom-really-is-something-new.aspx
I'm working on a cross browser viewer for very large historic plans and scetches. A good help for the first steps (an old blog) I found at http://www.cadmaps.com/gisblog/?p=7
to understand image pyramids (that's what Google Maps works with).
With a 'tiler' I produce a lot of images like testImage_0001111100.png. 0001111100 is i.e. 5th zoom level and x / y position in the image pyramid.
Most of calculation (neighbor images, image stack up and down) is done serverside by php called by ajax requests.
I'm struggling in the moment with (not insolvable) problems in smooth shifting and zooming. That's my problem - but read the article.
AJAX allows you to update part of the page from the javascript. Basically the javascript makes a request back to the webserver and replaces part of the existing page with the result.
JQuery is one library that makes this easier. I don't know what google uses.

Resources